工作中遇到一个问题,需要一个能接受前端以MultipartFile或文件的url地址来上传文件的接口,为了后续使用形式上的统一,因此需要将url链接对应的文件转为MultipartFile类型对象。
在网上冲浪半天以后没有找到一个直接的接口完成这样一件事,基本都是先将url下载为File类型对象,然后使用MockMultipartFile将其转为MultipartFile类型对象。
代码就三行,如下:
val file = File(”temp-file“)
FileUtils.copyURLToFile(URL("https://mp.csdn.net/mp_blog/creation/editor"), file)
val tmpMultipartFile = MockMultipartFile("tmp-file", FileInputStream(file))
这种写法会留下一个temp-file文件,应该是会有一次没有意义的io,但是鄙人刚学习后端不久,不知道怎么通过其他的方式实现这个需求,故而先这么写了,烂确实烂,但应该能用。