网上找的录音上传源码(https://blog.csdn.net/a704397849/article/details/110621165) 拿来用,在最后的上传时报错
required request part 'file' is not present
如下图
出问题了当然是找解决办法,继续网上找,在博文 https://www.cnblogs.com/runwithraining/p/12114373.html 中有提到原因是 前端上传和后端接收的参数不对,把后端的接收参数 @RequestParam(“file”) MultipartFile file 改成 @RequestParam(“fileUpload”) MultipartFile fileUpload
但是在我现在的录音上传项目中一样改 还是不行,继续报上面的错误信息,想来还是上传的文件名问题。上面的参数名 ‘fileUpload’ 是那篇博主自己当时项目前端 上传文件指定的文件名 ,而我现在用到的录音上传js是第三方库record.js,估计上传的文件名是别的名字,所以呢 打开这个record.js 找到上传部分的代码,找到了上传录音文件名 是 ‘audioData’
将后端服务器接收参数改为 @RequestParam(“audioData”) MultipartFile audioData
后端接收代码
@RequestMapping("/record/upload")
@ResponseBody
public String semanticRecordUpload(HttpServletRequest req, @RequestParam("audioData") MultipartFile audioData, Model m) {
System.out.println("semanticRecordUpload:");
JSONObject jo = new JSONObject();
try {
//上传的文件保存到指定位置
audioData.transferTo(new File("C:\\Users\\18823\\Desktop\\record\\1234.mp3"));
} catch (Exception e) {
e.printStackTrace();
jo.put("ret", "1");
jo.put("msg", e.getMessage());
return jo.toString();
}
jo.put("ret", "0");
jo.put("msg", "ok");
return jo.toString();
}
重启项目再试 上传成功了!