我编写了以下代码来使用多部分上传(每个部分大于5 MB)将集合字符串上传到S3,但当我从S3下载回来时,它只包含来自一个部分的字符串。
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.*;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class LowLevelMultipartUpload {
private List<PartETag> partETags = new ArrayList<>();
private InitiateMultipartUploadResult initResponse;
AmazonS3 s3Client; String bucketName; String keyName;
public LowLevelMultipartUpload(AmazonS3 s3Client, String bucketName, String keyName) {
this.s3Client = s3Client;
this.bucketName = bucketName;
this.keyName = keyName;
InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(bucketName, keyName);
initResponse = s3Client.initiateMultipartUpload(initRequest);
}
public void uploadPart(int partNumber, InputStream is, ObjectMetadata objectMetadata, boolean isFinalPart) throws IOException {
// Create the request to upload a part.
UploadPartRequest uploadRequest = new UploadPartRequest()
.withBucketName(bucketName)
.withKey(keyName)
.withUploadId(initResponse.getUploadId())
.withPartNumber(partNumber)
.withInputStream(is)
.withPartSize(is.available())
.withObjectMetadata(objectMetadata);
if(isFinalPart) uploadRequest.withLastPart(true);
// Upload the part and add the response's ETag to our list.
UploadPartResult uploadResult = s3Client.uploadPart(uploadRequest);
partETags.add(uploadResult.getPartETag());
}
public void completeUpload() {
// Complete the multipart upload.
CompleteMultipartUploadRequest compRequest = new CompleteMultipartUploadRequest(bucketName, keyName,
initResponse.getUploadId(), partETags);
s3Client.completeMultipartUpload(compRequest);
}
}
我按以下顺序调用上述代码。
上面的代码没有问题,工作正常。
我正在尝试使用 AWS PHP 开发工具包将一个 30 GB 的文件上传到亚马逊 S3。 它适用于最大7GB的文件。上传30 GB文件时,脚本运行约2小时后,我收到以下错误: 将部件上载到多部件上载时发生异常。以下部分出错:-第5部分:在上执行“UploadPart”时出错https://s3.amazonaws.com/Server3-27-SEP-2015/S3_www_1443369605.
我正在尝试使用 java 对亚马逊 S3 进行分段上传。我正在使用下面链接中的代码。 http://docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html 方案 1:要上载的文件大小为 31627。我使用 partSize 作为 500000 来指定单个部件的大小。 由于文件的大小小于部分大小,因此文件将上传到 S3。 方案 2:
我正在尝试使用放心的分段上传方法上传csv文件。在 swagger API 文档中,请求正文如下所示,用于分段 csv 上传。 我的代码是这样的。 这在IntelliJ的想法中工作,没有任何问题。但是,当我使用maven将代码打包到jar中并运行它时,它会返回fileNotes异常。 如我所见,唯一的解决方案是使用java文件input stream,但既然swagger说要使用文件,那就不可能使
问题内容: 由于迁移到Swift 3,我发现很难编译使用Alamofire的项目。 上载multipartFormData时发生问题: 对成员’upload(_:to:method:headers :)的含糊引用 任何帮助,不胜感激,在此先感谢! 解决: 这就是应该在Swift 3中实现上传方法的方式 问题答案: 例如,在 Swift 3中* 使用 Alamofire 4.0.0 : * (确保您
主要内容:Maven依赖关系,HttpClient分段上传请求示例在本教程中,我们将演示如何使用Apache HttpClient 4.5进行分段上传http请求。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中。 pom.xml 文件的内容如下 - HttpClient分段上传请求示例 在这个例子中,我们将演示如何使用HttpClient 4.5来分段上传文件。 我们使
我希望上传一个包含一个文件和一些json的多部分文件,并使用camel rest dsl将该文件输出到本地文件夹。 我在路由中使用处理器,使用HttpServletRequest将多部分请求拆分为多个部分。getPart(),但我收到以下错误: 我已经向 servlet 添加了一个多部分筛选器,并且已经尝试了使用和不使用多部分解决方案 Bean。当我调试处理器时,我可以看到 HttpServlet