作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下 WebApi,它向客户端返回 MultipartContent,其中包含来自数据库的图像和一些附加数据:-
public class PhotoController : ApiController
{
public HttpResponseMessage GetPhoto(Int32 personId)
{
var service = new PhotoService();
var photo = service.SelectPrimaryPhoto(personId);
if (photo == null)
return Request.CreateResponse(HttpStatusCode.NoContent);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
var content = new MultipartContent();
content.Add(new ObjectContent<Photo.Data>(photo, new JsonMediaTypeFormatter()));
content.Add(new StreamContent(photo.Image));
response.Content = content;
return response;
}
}
在客户端,HttpResponseMessage.Content 显示为 StreamContent 类型。如何将其作为 MultipartContent 访问?客户端是 WPF,而不是 Web 浏览器。
最佳答案
首先你需要添加对System.Net.Http.Formatting
的引用,
然后您将可以访问扩展方法.ReadAsMultipartAsync()
。
示例:
using System.Net.Http.Formatting;
// ...
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsyc("{send the request to api}");
var content = await response.Content.ReadAsMultipartAsync();
var stringContent = await content.Contents[0].ReadAsStringAsync();
var streamContent = await content.Contents[1].ReadAsStreamAsync();
关于c# - 如何从 HttpResponseMessage 读取 MultipartContent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088390/
我是一名优秀的程序员,十分优秀!