如何从外部 link 上传 MultipartFile?
How to upload MultipartFile from external link?
我已经有接受 MultipartFile
的控制器
@RequestMapping(value = "/uploadImage" )
@ResponseBody
public ResponseEntity<String> handleFileUpload(@Validated MultipartFileWrapper file,
BindingResult result, Principal principal)
出现了新要求。我们需要从外部资源(例如 dropbox)加载文件并重新保存在本地 mashine 上。我知道 link 作为先决条件加载。
我想重用第一个控制器。因此,我的目标是使用外部 link 下载类型为 MultipartFile 的文件并将其传递给现有控制器。
spring 建议如何解决我的问题?
P.S.
MultipartFileWrapper
只是 MultipartFile
下的包装器
我加了
<!-- Integration-->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-http</artifactId>
<version>${spring.version}</version>
</dependency>
和以下代码(我减少了异常处理)
InputStream inputStream = new URL(url).openStream();
File file = File.createTempFile("tmp", ".txt", new File(System.getProperty("user.dir")));
byte[] binary = IOUtils.toByteArray(inputStream);
FileUtils.writeByteArrayToFile(file, binary);
UploadedMultipartFile multipartFile = new UploadedMultipartFile(file, file.length(), "jpg",
"formParameter", fileName);
MultipartFileWrapper multipartFileWrapper = new MultipartFileWrapper();
multipartFileWrapper.setMultipartFile(multipartFile);
redirectAttributes.addFlashAttribute(multipartFileWrapper);
return "redirect:/member/uploadImage";
我已经有接受 MultipartFile
@RequestMapping(value = "/uploadImage" )
@ResponseBody
public ResponseEntity<String> handleFileUpload(@Validated MultipartFileWrapper file,
BindingResult result, Principal principal)
出现了新要求。我们需要从外部资源(例如 dropbox)加载文件并重新保存在本地 mashine 上。我知道 link 作为先决条件加载。
我想重用第一个控制器。因此,我的目标是使用外部 link 下载类型为 MultipartFile 的文件并将其传递给现有控制器。
spring 建议如何解决我的问题?
P.S.
MultipartFileWrapper
只是 MultipartFile
我加了
<!-- Integration-->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-http</artifactId>
<version>${spring.version}</version>
</dependency>
和以下代码(我减少了异常处理)
InputStream inputStream = new URL(url).openStream();
File file = File.createTempFile("tmp", ".txt", new File(System.getProperty("user.dir")));
byte[] binary = IOUtils.toByteArray(inputStream);
FileUtils.writeByteArrayToFile(file, binary);
UploadedMultipartFile multipartFile = new UploadedMultipartFile(file, file.length(), "jpg",
"formParameter", fileName);
MultipartFileWrapper multipartFileWrapper = new MultipartFileWrapper();
multipartFileWrapper.setMultipartFile(multipartFile);
redirectAttributes.addFlashAttribute(multipartFileWrapper);
return "redirect:/member/uploadImage";