我正在使用Amazon S3低级API上传大型视频文件,我正在关注This link
当我上传文件时,它给我异常
The XML you provided was not well-formed or did not validate against our published schema
我检查了内部异常及其说这个
The remote server returned an error: (400) Bad Request.
在这一行
CompleteMultipartUploadResponse completeUploadResponse =
s3Client.CompleteMultipartUpload(completeRequest);
这就是我制作S3Client的方式
IAmazonS3 s3Client = new AmazonS3Client(accesskey, secretKey, Amazon.RegionEndpoint.USEast1);
我也尝试更改桶名,如bucketname / filename.mp4,但是它给出异常
The specified upload id is not valid
我还尝试了一些其他文件(doc和pdf),它也提供了XML异常。
上传大型视频文件(大约200-500MB)有什么好的替代方法吗?
答案 0 :(得分:2)
我在使用doc中的示例代码进行MultiPart上传时发现了类似的问题。我发现ETag列表对于CompleteMultipartUpload部分是强制性的 - 这不在文档样本中。
此链接更好地解释了多部分上传过程:s3 multipart upload
答案 1 :(得分:0)
我曾经将档案发送到S3(大约100-300MB)。我的代码看起来像这样:
AmazonS3Client s3client = new AmazonS3Client(accessKey, secretKey);
s3Client.PutObject(new PutObjectRequest {BucketName = destinationBucketName, FilePath = myFilePath, Key = Path.GetFileName(myFilePath)});
基本上就是这样。我有重试策略和异常处理,但这是核心。因此,只需简单的PutObject函数就可以找到这样的文件大小。