【发布时间】:2017-09-01 05:54:56
【问题描述】:
我必须将多部分文件上传到 aws 存储桶,我正在做的是
public String uploadOnBucket(MultipartFile file){
InputStream inputStream = file.getInputStream();
BufferedImage ImageFromConvert = ImageIO.read(inputStream);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(ImageFromConvert, extension, os);
byte[] buffer = os.toByteArray();
InputStream is = new ByteArrayInputStream(buffer);
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(buffer.length);
AmazonS3 s3Client = AwsUtil.s3Authentication();
s3Client.putObject(new PutObjectRequest(uploadedFileLocation, fileName, is, meta).withCannedAcl(CannedAccessControlList.Private));
inputStream.close();
}
上面的代码适用于任何图像,但是当我尝试上传 pdf 时,它给了我“图像为空”的异常。我可以理解 IMageIO 导致了这个问题。但我无法解决这个问题。请帮忙,我想将文件分成多部分上传到 aws 存储桶,无论文件是 pdf 还是图像。
【问题讨论】:
-
在此处检查您的代码..` BufferedImage ImageFromConvert = ImageIO.read(inputStream);` ,您使用 BufferImage 所以它不适用于文件。
-
我还能在这里使用什么来上传图片或pdf文件或ant .txt文件?
标签: java amazon-web-services amazon-s3