POST请求Multipart / FormData(File)内容已更改/加密

时间:2019-08-05 18:33:35

标签: java post amazon-s3 multipartform-data image-upload

我正在尝试使用以下代码将图像上传到S3存储桶,我能够成功上传图像,但是当我尝试打开该图像时,我会出现黑屏,而当我下载并尝试打开该图像时,图片显示- “看来我们不支持此文件格式”

enter image description here

@PostMapping(value = "/loadFileToS3")
public String loadS3File(@RequestHeader(name = "fileName") String fileName,
    @RequestParam("file") MultipartFile file) throws IOException {

    AmazonS3 s3Client = AmazonS3Client.builder()
                    .withRegion(Regions.getCurrentRegion() != null ? Regions.getCurrentRegion().getName() : null)
                    .build();


    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(file.getSize());
    metadata.setContentType(file.getContentType());
    s3Client.putObject(new PutObjectRequest(bucketName, fileName, file.getInputStream(), metadata);

    return "uploaded";
}

但是当我在POST请求中将图像内容作为base64编码的字符串传递时,一切似乎都可以正常工作。我能够正确呈现图像。

任何人都可以让我知道我在这里想念的是什么或我做错了什么。

0 个答案:

没有答案