2017-05-03 124 views
1

我需要上传多个大文件(几GB)到AWS S3服务器。我写了基本代码,但它给错误 -在.Net(asp.net核心)上传大文件到aws S3服务器

HTTP Error 502.3 - Bad Gateway 
The specified CGI application encountered an error and the server terminated the process. 

可能是由于超时。 那么,是否有任何完美的方式来上传大文件到S3。 我使用下面的代码 -

TransferUtility fileTransferUtility = new TransferUtility(this._s3Client); 
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest 
     { 
     BucketName = s3BucketName, 
     FilePath = filePath, 
     PartSize = 6291456, 
     Key = key, 
     CannedACL = S3CannedACL.PublicRead 
     }; 
fileTransferUtilityRequest.UploadProgressEvent += FileTransferUtilityRequest_UploadProgressEvent; 
fileTransferUtility.Upload(fileTransferUtilityRequest); 
+0

你检查IIS中的命令行日志或ASPNET日志,以确认这是一个超时问题? –

回答

0

您可以指定Timeout参数作为TransferUtilityUploadRequest的一部分吗?

如果是这样你可以使用一个合理的大数目,或者如果你绝望,你可以使用-1为无限。这显然不被推荐。

相关文件: http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_S3_Transfer_TransferUtilityUploadRequest.htm

+0

但是TimeOut属性在TransferUtilityUploadRequest中不可用。 –

+0

@AshishKumar你确定吗?他们的文档列出它: http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_S3_Transfer_TransferUtilityUploadRequest.htm – JonE