问题描述
我们正尝试使用Azure SDK的PutBlockAsync API将文件上传到Azure Blob存储。
using (var blockStream = new MemoryStream(block))
{
await blob.PutBlockAsync(blockId,blockStream,"").ContinueWith((t) => {
if (t.IsFaulted)
{
SysLog.Debug($"Error occured in PutBlockAsync while uploading a block for {blob.Name}. Please check error log.");
SysLog.Error(t.Exception);
}
else if (t.IsCanceled)
{
SysLog.Debug($"PutBlockAsync cancelled for {blob.Name}.");
}
else
{
isChunkSent = true;
}
});
}
---> Microsoft.Azure.Storage.StorageException: An error occurred while sending the request.
---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
---> System.IO.IOException: The response ended prematurely.
at System.Net.Http.httpconnection.FillAsync()
at System.Net.Http.httpconnection.ReadNextResponseHeaderLineAsync(Boolean foldedHeadersAllowed)
at System.Net.Http.httpconnection.SendAsyncCore(HttpRequestMessage request,CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.httpconnection.SendAsyncCore(HttpRequestMessage request,CancellationToken cancellationToken)
at System.Net.Http.httpconnectionPool.SendWithNtConnectionAuthAsync(httpconnection connection,HttpRequestMessage request,Boolean doRequestAuth,CancellationToken cancellationToken)
at System.Net.Http.httpconnectionPool.SendWithRetryAsync(HttpRequestMessage request,CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request,CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask,CancellationTokenSource cts,Boolean disposeCts)
at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](restcommand`1 cmd,IRetryPolicy policy,OperationContext operationContext,CancellationToken token)
--- End of inner exception stack trace ---
at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](restcommand`1 cmd,CancellationToken token)
at Microsoft.Azure.Storage.Blob.CloudBlockBlob.PutBlockAsync(String blockId,Stream blockData,Checksum contentChecksum,AccessCondition accessCondition,BlobRequestOptions options,AggregatingProgressIncrementer progressIncrementer,CancellationToken cancellationToken)
非常感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)