C# AWS.NET SDK多部分文件从Http上载
我已经实现了一个.ashx处理程序,它从客户端接收文件的分块上传部分。之前,我先将文件存储在临时文件夹中,然后再将其上载到AWS。 由于文件已经变得相当大,我想跳过临时文件夹部分,并使用多部分请求将它们直接上传到AWS 到目前为止,它看起来还不错,但我找不到一个重载来接受HttpPostedFile或流进行上传 我可以做如下的事情吗C# AWS.NET SDK多部分文件从Http上载,c#,amazon-s3,C#,Amazon S3,我已经实现了一个.ashx处理程序,它从客户端接收文件的分块上传部分。之前,我先将文件存储在临时文件夹中,然后再将其上载到AWS。 由于文件已经变得相当大,我想跳过临时文件夹部分,并使用多部分请求将它们直接上传到AWS 到目前为止,它看起来还不错,但我找不到一个重载来接受HttpPostedFile或流进行上传 我可以做如下的事情吗 // Create request to upload a part. UploadPartRequest uploadReques
// Create request to upload a part.
UploadPartRequest uploadRequest = new UploadPartRequest()
.WithBucketName(myBucket)
.WithKey(myKey)
.WithUploadId(myUploadId)
.WithPartNumber(partNumber)
.WithInputStream(inputStream);
简单:只需通过属性设置输入流:
// Create request to upload a part.
UploadPartRequest uploadRequest = new UploadPartRequest()
.WithBucketName(myBucket)
.WithKey(myKey)
.WithUploadId(UploadId)
.WithPartNumber(PartNumber)
.WithPartSize(inputStream.Length)
.WithFilePosition(FilePosition);
uploadRequest.InputStream = inputStream;
WithInputStream将返回s3请求,而不是UploadPartRequest 因此,只需将返回类型强制转换为UploadPartRequest
// Create request to upload a part.
UploadPartRequest uploadRequest = new UploadPartRequest()
.WithBucketName(myBucket)
.WithKey(myKey)
.WithUploadId(myUploadId)
.WithPartNumber(partNumber);
uploadRequest = (UploadPartRequest)uploadRequest.WithInputStream(ftiObject.sourceStream);
这对我有用
UploadPartRequest uploadRequest = new UploadPartRequest()
.WithBucketName(myBucket)
.WithKey(myKey)
.WithUploadId(myUploadId)
.WithPartNumber(partNumber)
.WithInputStream(stream) as UploadPartRequest;
这也是可能的