最近在做项目是遇到一个需求前端通过jsPDF把页面生成pdf文件后并用formdata传到后端保存,当时在windows上测试可以正常上传,但是部署到Cent OS 服务器上测试,文件可以保存到磁盘但文件的大小始终是0KB。
于是测试了N种情况,暂没发现因为什么原因导致(后续找到更新到博文)。最终换一个上传方式完美解决了!!
前端把文件转为base64编码字符串传入到控制器,然后使用文件流的方式保存到本地
@ResponseBody
@PostMapping("/pact_upload")
public Object pactUpload(String base64) {
BufferedOutputStream bos = null;
//String fileSavePath = "D:/upload/";
String fileSavePath = "/usr/upload/"; //linux的文件路径
String fileName = CommonUtils.