首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Refit (C#) -下载图像

Refit (C#) -下载图像
EN

Stack Overflow用户
提问于 2017-02-09 23:57:32
回答 2查看 3.5K关注 0票数 6

我在C#应用程序中使用Refit与REST API进行交互,该API方法有一个返回.jpg图像的调用。我想使用Refit下载此图像并将其作为字节数组获取,但它似乎返回了一个乱码字符串。见下文。图片下载见下图接口方法

代码语言:javascript
复制
 [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

EN

回答 2

Stack Overflow用户

发布于 2017-05-23 23:38:35

对我来说起作用的是将该方法声明为返回Task<HttpContent>,然后您可以通过各种方式从返回的HttpContent实例中检索数据。

例如:

代码语言:javascript
复制
Task<HttpContent> DownloadPhoto(Guid id);

然后:

代码语言:javascript
复制
HttpContent content = await DownloadPhoto(guid);
byte[] bytes = await content.ReadAsByteArrayAsync();
票数 12
EN

Stack Overflow用户

发布于 2020-02-24 09:04:26

您可以使用下面示例中的refit来获取字节数组

代码语言:javascript
复制
[Get("/Photos/{id}")]
Task<HttpResponseMessage> DownloadPhoto(Guid id);

然后,您可以从

代码语言:javascript
复制
var Response = await YourRefitClient.DownloadPhoto(id);
byte[] ByteArray = await Response.Content.ReadAsByteArrayAsync();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42141274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档