Resttemplate将图像上传到s3,但只有白色方块或破损

我有一个Java代码,可将图像上传到S3:

    MappingJackson2HttpMessageConverter jsonHttpMessageConverter = new MappingJackson2HttpMessageConverter();
    jsonHttpMessageConverter.getObjectMapper().configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false);
    jsonHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.IMAGE_JPEG,MediaType.IMAGE_JPEG));
    restTemplate.getMessageConverters().add(jsonHttpMessageConverter);

    try {
        //File f = multipartToFile(filedata);
        //uri = new URI(url.toString());
        File f = new File("<SOMEDIRECTORY>/<SOMEIMAGE>.jpeg");
        headers.setContentType(MediaType.IMAGE_JPEG);
        HttpEntity<File> entity = new HttpEntity<>(f,headers);

        System.out.println("FILE " + f.getabsolutePath());
        System.out.println("FILE " + f.getTotalSpace());
        System.out.println("FILE " + f.getPath());
        System.out.println("FILE " + f.getName());

        ResponseEntity<String> response = restTemplate.exchange(new URI(url.toString()),HttpMethod.PUT,entity,String.class);
        result = response.getBody();    
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }

我将文件设置为本地PC中的某些图像。代码可以正常工作并在S3中上载图像,但是图像只是白色正方形,当我下载图像时会显示:

Error interpreting JPEG image file (Not a JPEG file: starts with 0x22 0x2f)

我看到了这篇文章,但不太了解解决方法s3.upload() works but uploads broken image

这也是我的http请求日志:

2019-11-12 10:47:59.493  INFO 12885 --- [nio-8080-exec-8] a.s.RequestResponseLoggingInterceptor    : ===========================request begin================================================
2019-11-12 10:47:59.493  INFO 12885 --- [nio-8080-exec-8] a.s.RequestResponseLoggingInterceptor    : URI         : https://<SOMEURL>/<SOMEIMAGEFILE>?AWSaccessKeyId=<accESKEY>&Content-Type=image%2Fjpeg&Expires=1573527779&Signature=<SIGNATURE>&x-amz-security-token=IQoJb3JpZ2luX2VjEOP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLXNvdXRoZWFzdC0xIkcwRQIhAMUE%2FnlJvn%2BpUsBHozJ9gH2uyzYxwb4fIj4e0y7Hm%2FY3AiBWEYwKECXCszLmBa%2FxL3IJBAdzKNJMy7RduKLw%2BIMt1yrqAQj8%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDY2NDkzNTQ0NTIzOCIMbn7Ysc1VRzdQzo4VKr4BHd8rZuMMaKGedMFPIVvgmdlKEXRAW%2F5X%2FNa0915dIul95kOZMlV37xXeaKk<CUT>
2019-11-12 10:47:59.493  INFO 12885 --- [nio-8080-exec-8] a.s.RequestResponseLoggingInterceptor    : Method      : PUT
2019-11-12 10:47:59.493  INFO 12885 --- [nio-8080-exec-8] a.s.RequestResponseLoggingInterceptor    : Headers     : [accept:"text/plain,application/json,application/cbor,application/*+json,image/jpeg,*/*",Content-Type:"image/jpeg",Content-Length:"29"]
2019-11-12 10:47:59.494  INFO 12885 --- [nio-8080-exec-8] a.s.RequestResponseLoggingInterceptor    : ==========================request end================================================

我错过了什么吗?

yjukhdxfv 回答:Resttemplate将图像上传到s3,但只有白色方块或破损

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3120230.html

大家都在问