我在C#应用程序中使用Refit与REST API进行交互,该API方法有一个返回.jpg图像的调用。我想使用Refit下载此图像并将其作为字节数组获取,但它似乎返回了一个乱码字符串。见下文。图片下载见下图接口方法
[Get("/Photos/{id}")]
Task<string> DownloadPhoto(Guid id);我尝试将字符串解析为Base64字符串,但不起作用,所以我认为不是这样的。有什么想法吗?
编辑:此处第一行乱码响应。请注意,如果在浏览器中转到相同的URL,则可以正常工作并显示图像
����\0\u0010JFIF\0\u0001\u0001\0\0H\0H\0\0��\0XExif\0\0MM\0*\0\0\0\b\0\u0002\u0001\u0012\0\u0003\0\0\0\u0001\0\u0001\0\0�i\0\u0004\0\0\0\u0001\0\0\0&\0\0\0\0\0\u0003�\u0001\0\u0003\0\0\0\u0001\0\u0001\0\0�\u0002\0\u0004\0\0\0\u0001\0\0\u0002X�\u0003\0\u0004\0\0\0\u0001\0\0\u0003 \0\0\0\0��\08Photoshop 3.0\08BIM\u0004\u0004\0\0\0\0\0\08BIM\u0004%\0\0\0\0\0\u0010�\u001d�ُ\0�\u0004�\t���B~��\0\u0011\b\u0003 \u0002X\u0003\u0001\"\0\u0002\u0011\u0001\u0003\u0011\u0001��\0\u001f
发布于 2017-05-23 23:38:35
对我来说起作用的是将该方法声明为返回Task<HttpContent>,然后您可以通过各种方式从返回的HttpContent实例中检索数据。
例如:
Task<HttpContent> DownloadPhoto(Guid id);然后:
HttpContent content = await DownloadPhoto(guid);
byte[] bytes = await content.ReadAsByteArrayAsync();发布于 2020-02-24 09:04:26
您可以使用下面示例中的refit来获取字节数组
[Get("/Photos/{id}")]
Task<HttpResponseMessage> DownloadPhoto(Guid id);然后,您可以从
var Response = await YourRefitClient.DownloadPhoto(id);
byte[] ByteArray = await Response.Content.ReadAsByteArrayAsync();https://stackoverflow.com/questions/42141274
复制相似问题