下载文件原先使用下面的代码:
S3Object object = s3.getObject(bucketName, fileKey);
S3ObjectInputStream objectContent = object.getObjectContent();
OutputStream out =null;
try {
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
out = response.getOutputStream();
byte[] buf = new byte[1024];
int len;
while ((len = objectContent.read(buf)) > 0) {
out.write(buf, 0, len);
}
response.flushBuffer();
s3 内有这么一个方法可以获取文件某一断数据:
etObjectRequest rangeRequest = new GetObjectRequest(bucketName, fileKey)
.withRange(start, end);
S3Object object = s3.getObject(rangeRequest);
S3ObjectInputStream objectContent = object.getObjectContent();
如果下载了某段数据,怎么整合起来形成一个完整文件? 思路应该是下载各个分片合并,或在某个临时文件后面追加内容?哪里有比较完整的代码吗?希望各位朋友能够帮忙解答
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.