gpt4 book ai didi

java - 如何在 spring 中将图像转换为多部分文件

转载 作者:行者123 更新时间:2023-11-30 08:35:18 24 4
gpt4 key购买 nike

我有一个图像文件并正在创建 File带有该图像的对象

File file = new File("E://Shared Data/Images/xyz.jpg");

上面一行创建了一个 file一些大小的对象,如 440272 , 我需要转换上面的 image file进入multipart file为此我做了

DiskFileItem fileItem = new DiskFileItem("file", "image/png", false, file.getName(),
(int) file.length(), file.getParentFile());
fileItem.getOutputStream();
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
adminAssetUploadController.upload(request, multipartFile, "product", null);

问题是转换后我得到 size=0而不是得到一些size喜欢440272 .如果我得到 size对于 image这样我就可以通过将其传递给 upload 来存储到某个位置方法。

下面是上传方法

public ResponseEntity<Map<String, Object>> upload(HttpServletRequest request,
@RequestParam("file") MultipartFile file, @PathVariable(value = "sectionKey") String sectionKey,
@PathVariable(value = "id") String id) throws IOException {
Map<String, Object> responseMap = new HashMap<String, Object>();

Map<String, String> properties = new HashMap<String, String>();
properties.put("entityType", sectionKey);
properties.put("entityId", id);

StaticAsset staticAsset = staticAssetService.createStaticAssetFromFile(file, properties);
staticAssetStorageService.createStaticAssetStorageFromFile(file, staticAsset);
........
.......

}

任何人都可以帮助我为什么我得到 zero size转换成 multipart file 后我的方法是否正确转换 image filemultipart file ?或者我需要关注任何其他 approach为此?

最佳答案

我建议使用此代码转换图像

FileInputStream input = new FileInputStream(fileItem);
MultipartFile multipartFile = new MockMultipartFile("fileItem",
fileItem.getName(), "image/png", IOUtils.toByteArray(input));

如果你想使用 CommonsMultipartFile,我认为你应该在你的 pom 文件中加入 commons-fileupload

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>

CommonsMultipartFile 的文档指出

NOTE: As of Spring 2.0, this class requires Commons FileUpload 1.1 or higher. The implementation does not use any deprecated FileUpload 1.0 API anymore, to be compatible with future Commons FileUpload releases. http://docs.spring.io/spring-framework/docs/2.0.8/api/org/springframework/web/multipart/commons/CommonsMultipartFile.html

让我知道这是否对你有用

关于java - 如何在 spring 中将图像转换为多部分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38269876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com