前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >下载文件url为MultipartFile

下载文件url为MultipartFile

作者头像
阿超
发布2023-06-23 14:17:25
发布2023-06-23 14:17:25
42500
代码可运行
举报
文章被收录于专栏:快乐阿超快乐阿超
运行总次数:0
代码可运行

良好的秩序是一切的基础。——伯克

代码如下:

代码语言:javascript
代码运行次数:0
运行
复制

import lombok.Cleanup;
import lombok.SneakyThrows;
import lombok.val;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.dromara.hutool.core.io.IoUtil;
import org.dromara.hutool.core.net.url.URLUtil;
import org.springframework.http.MediaType;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

/**
 * MultiFileUtils
 *
 * @author VampireAchao
 * @since 2023/6/1
 */
public class MultiFileUtils {


    /**
     * 通过url获取MultipartFile
     *
     * @param url      文件网络路径
     * @param fileName 文件新名称
     * @return MultipartFile
     */
    @SneakyThrows
    public static MultipartFile getMultipartFile(String url, String fileName) {
        @Cleanup val inputStream = URLUtil.url(url).openStream();
        FileItemFactory factory = new DiskFileItemFactory(16, null);
        FileItem fileItem = factory.createItem(fileName, MediaType.MULTIPART_FORM_DATA_VALUE, true, fileName);
        val bytes = IoUtil.readBytes(inputStream);
        @Cleanup val outputStream = fileItem.getOutputStream();
        IoUtil.write(outputStream, false, bytes);
        return new CommonsMultipartFile(fileItem);
    }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档