如何定义Sping上传文件的接口

发布时间 2023-11-21 23:24:41作者: 于是之_1

我直接通过 拓云智能 AI搜索获得了如下的答案。避免了花费太长时间也找不到直接答案。-- 现在百度广告太多了...

在Spring中,通过定义Controll层,来实现接口,上传文件比较特殊,需要注意的点:

  1. 可以使用@PostMapping注解来定义上传音频文件的接口

  2. 使用MultipartFile 类来接受前端上传的文件,代码如下:

import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@ApiOperation("API信息")
@RequestMapping(value = "/test/api", method = RequestMethod.POST)
@ResponseBody
public CommonResult<String> speechToText(@RequestParam("updateFile") MultipartFile updateFile) {
    File speechFileInstance = MultipartFileToFileUtil.multipartFileToFile(updateFile);
        String result = service.function(updateFile);
        return CommonResult.success(result);
}
  1. 其中MultipartFileToFileUtil.multipartFileToFile方法,是将MultipartFile文件转换成File,方便后续业务代码处理,代码如下:

public static File multipartFileToFile(MultipartFile file) {
        try {
            File toFile;
            if (file != null && file.getSize() > 0) {
                InputStream ins = null;
                ins = file.getInputStream();
                toFile = new File(file.getOriginalFilename());
                inputStreamToFile(ins, toFile);
                ins.close();
                return toFile;
            }
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

这样子,前端就可以通过指定请求头multipart/form-data来上传文件,后端接收到文件进行读写处理。

如何找到开发技术问题答案

  1. 方式一:官网文档 -- 不一定全
  2. 方式二:技术社区搜索帖子 -- 不知道有哪些社区
  3. 方式三:通过百度、谷歌等搜索 -- 广告太多了
  4. 方式四:通过AI搜索答案 -- 直接给出问题答案

通过AI搜索的效果

不仅有问题答案,还能自动识别你可能需要问的相关问题


搜索工具推荐

  1. 拓云智能
  2. 智届
  3. 百度
  4. Google