接受前台文件类型(MultipartFile)的参数,后台进行本地下载保存,返回文件存储路径

该博客介绍了一个Controller接口,它接受前端上传的MultipartFile文件,然后在后台进行本地下载并保存到磁盘的过程。
摘要由CSDN通过智能技术生成
 @PostMapping("/uploadPictureOCR")
    @ApiOperation(value = "上传图片" , notes = "单张图片上传")
    public String uploadPictureOCR(@RequestParam("file") MultipartFile file)throws Exception{

        String filePath = UploadImgUtils.approvalFile(file);
        System.out.println(filePath);
        return filePath;
        // 以下代码 是获取到这个文件路径 进行上传到服务器,可以忽略
        /*File result = new File(filePath);
        //File file_path = FileUtil.mkdir(tempDir+file.getOriginalFilename());
        Map<String, String> resultMap = new HashMap<>(1);
        //File tempFile = FileUtil.createTempFile(new File(tempDir));
        file.transferTo(result);

        HttpRequest post = HttpUtil.createPost(uploadUrl + "upload?output=json");
        post.form("file",new FileResource(result));
        String str = post.execute().body();
        String do
获取MultipartFile参数类型的文件路径有两种方式:使用MockMultipartFile函数和使用数据流实现。 方式一:使用MockMultipartFile函数 可以通过路径创建一个File对象,然后使用MockMultipartFile函数将生成的File文件转化为MultipartFile文件。代码示例如下: ```java String filePath = "/path/to/file"; // 文件路径 File file = new File(filePath); MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), null, new FileInputStream(file)); ``` 这样就可以将文件路径转换为MultipartFile类型的文件。 方式二:数据流实现 使用数据流实现的方式也可以获取MultipartFile参数类型的文件路径。具体步骤如下: 1. 创建一个文件输入流,将文件路径作为参数传入。 2. 使用MultipartFile的实现类CommonsMultipartFile的构造函数,将文件名、原始文件名、文件类型等信息传入。 3. 调用构造函数创建一个MultipartFile对象。 代码示例如下: ```java String filePath = "/path/to/file"; // 文件路径 File file = new File(filePath); FileInputStream fileInputStream = new FileInputStream(file); MultipartFile multipartFile = new CommonsMultipartFile(fileInputStream); ``` 这样就可以通过数据流实现获取MultipartFile参数类型的文件路径。 请注意,不要将MultipartFile文件对象直接从后台给前端,因为前端无法解析该类型的文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java 通过文件路径获得MulipartFile类型文件 - File转MulipartFile](https://blog.csdn.net/qq_40762011/article/details/116592361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值