作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 AWS 上开发文件上传功能。
我写了一个servlet来处理post请求,框架如下图:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean isMulti = ServletFileUpload.isMultipartContent(request);
if (isMulti) {
ServletFileUpload upload = new ServletFileUpload();
try {
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
InputStream inputStream = item.openStream();
if (item.isFormField()) {
} else {
String fileName = item.getName();
if (fileName != null && fileName.length() > 0) {
//read stream of file uploaded
//store as a temporary file
//upload the file to s3
}
}
}
} catch (Exception e) {
}
}
response.sendRedirect("location of the result page");
}
我觉得这些类应该是用来上传文件的。我试过,但在 S3 中,文件的大小始终为 0 字节。还有其他方法可以上传包含多个部分的文件吗?
我引用代码http://docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html
最佳答案
我猜你在做两件事 - 一个是将整个文件放到你的应用程序容器中(在你的 servlet 运行的 tomcat 上),另一个是将文件上传到 S3。
如果您能够完成上述任务中的第一个(您应该将文件作为 java.io.File
对象),那么第二个任务应该很简单:
AmazonS3 s3 = new AmazonS3Client(awsCredentials);
s3.putObject(new PutObjectRequest(bucketName, key, fileObj));
这是 S3 的简单上传。 S3 Multipartupload 是将整个文件分成 block 并并行上传每个 block 的地方。 S3 给出了两种方式来实现 multipartupload。
InitiateMultipartUploadRequest
TransferManager
类抽象分块/上传等过程关于java - 上传文件到S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724644/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!