c# - System.Net.Http.HttpRequestException:将内容复制到流时出错。System.IO.IOException:响应提前结束
问题描述
有人可以协助将错误消息作为此问题的图块。我正在尝试使用 POST 方法获得响应,但是我收到如下错误消息。当我使用 POST 运行相同的东西时,它工作正常,不知道出了什么问题。错误信息
Error while copying content to a stream.
The response ended prematurely
代码:
public static async Task GetTransriptAsync(string srcBucket, List<string> SoundFileSet, IAmazonS3 s3client)
{
using HttpClient httpClient = new HttpClient
{
Timeout = TimeSpan.FromMinutes(10)
};
var baseURL = new UriBuilder("https://sampleurl/api/v1/test");
var queryParameter = HttpUtility.ParseQueryString(baseURL.Query);
queryParameter["model"] = "testModel";
baseURL.Query = queryParameter.ToString();
Uri queryString = baseURL.Uri;
foreach (var soundFile in SoundFileSet)
{
using HttpRequestMessage httpRequestMessage = new HttpRequestMessage();
GetObjectRequest getObjectRequest = new GetObjectRequest
{
BucketName = srcBucket,
Key = soundFile
};
using GetObjectResponse getObjectResponse = await s3client.GetObjectAsync(getObjectRequest);
using Stream responseStream = getObjectResponse.ResponseStream;
httpRequestMessage.Method = HttpMethod.Post;
httpRequestMessage.RequestUri = queryString;
httpRequestMessage.Headers.Authorization = new AuthenticationHeaderValue("Basic", "xyzskskskks");
httpRequestMessage.Content = new StreamContent(responseStream);
var httpResponse = await httpClient.SendAsync(httpRequestMessage); // This is where error is encountered
if (httpResponse.IsSuccessStatusCode)
{
var audioCallResponse = await httpResponse.Content.ReadAsStringAsync();
// Do some work here
}
}
}
解决方案
推荐阅读
- c# - Android C# 本地网络访问
- javascript - d3js 强制布局:节点和链接位置的空值
- c# - 如何在 Linq 查询中获取“命名”元组组件?
- angular - 路径未按预期在 tsconfig.json 中工作
- java - Android gradle 版本没有更新
- sql - 转换 json 字段的输入
- python-3.x - Python3 子进程和 if elif else 条件
- javascript - 弹出关闭图标点击事件自定义
- django - 如何使用一个应用程序中的 Django 模型连接到第二个应用程序的数据库副本?
- app-store - 上传我的应用程序时出错:App Sore Connect 操作错误