Windows 8 个通用应用 ASP.Net 网络 Api

Windows 8 universal app ASP.Net web Api

我正在尝试从 ASP.NET Web Api 服务绑定图像,我有控制器

public class ImageController : ApiController
{

    public HttpResponseMessage GetImage()
    {
        HttpResponseMessage response = new HttpResponseMessage();
        response.Content = new StreamContent(new FileStream("FileAddress", FileMode.Open));
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
        return response;
    } 
}

客户端是Windows8万能app还有下一个代码

private async void Button_Click(object sender, RoutedEventArgs e)
{
    Uri datauri = new Uri("http://localhost:63606/Api/Image");
    var client = new HttpClient();
    var datafil = await client.GetAsync(datauri);
    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, datauri);

    HttpResponseMessage response = await client.SendRequestAsync(request, HttpCompletionOption.ResponseHeadersRead);
    InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream();
    DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0));
}

我不知道该怎么办,我无法在 BitmapImage 文件中获取图像。

在您可以进行以下操作

public class ImageController : ApiController
{

    public HttpResponseMessage GetImage()
    {
        HttpResponseMessage response = new HttpResponseMessage();
        response.Content = new StreamContent(new FileStream("FileAddress", FileMode.Open));
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
        return response;
    } 
}

并在 WinRt 应用程序中编写以下代码

private async void Button_Click(object sender, RoutedEventArgs e)
        {
            Uri datauri = new Uri("Api Uri");
            BitmapImage image= new BitmapImage(datauri);
            // if you want show result in XAML Controls 
            Image1.Sourse=image;
        }

在XAML

 <Image x:Name="Image1"  HorizontalAlignment="Left" Height="292" Margin="48,413,0,0" VerticalAlignment="Top" Width="310"/>

第二种方法,如果你想得到很多照片,你可以在 API 文件夹中创建新文件夹,并将其命名为例如 PhotoRepository 在此文件夹中添加照片,并通过它的 URI

获取照片
    private void Button_Click(object sender, RoutedEventArgs e)
            {
                Uri datauri = new Uri("http://localhost:63606/PhotoReposytory/"photo name".jpg"); 
//jpg  or other format
                BitmapImage foto = new BitmapImage(datauri);
                Image1.Source = foto;
            }