如何解决HttpClient 从 URL 下载图像然后上传图像
我有一个位于 url 中的图像。
https://somecdn/content/myimage.png
我想将此字符串传递给我的 API,将图像下载到内存中,然后上传到另一个 API。
我正在使用一个 api 客户端,它是由我们的 swagger 生成的,它采用 IO.stream 的类型。
代码如下。
public async Task<int> UploadPicture(string fileUrl)
{
var otherApiClient = await _otherApiClient.Build();
var fileRetrievalClient = new HttpClient();
var fileResponse = await fileRetrievalClient.GetAsync(fileUrl);
var newId = await otherApiClient.UploadPictureAsync(file: await fileResponse.Content.ReadAsStreamAsync());
return newId;
}
通常,当通过前端调用时,类型设置正确。
内容配置:表单数据;名称=“文件”;文件名="yadayada.png" 内容类型:图像/png
但是在我的代码中 Content-Type 是错误的。
内容类型:application/octet-stream 内容配置:表单数据;名称=文件;文件名=未知
我该如何解决这个问题。
解决方法
你可以这样做:
$
,
HttpClient 没有名为 UploadPictureAsync 的方法。这表明变量otherApiClient的Type不是HttpClient。
您需要检查可以传递给 UploadPictureAsync 的其他参数,并了解如何使用 fileResponse.Headers
中的值传递自定义标头版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。