其他的坑在这里有https://blog.csdn.net/carrybest/article/details/79602237解释
今天这个坑找了半天,下面是源码
User u=null; SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); if(file!=null){ String newFileName = file.getOriginalFilename(); String path="/usr/files/fankui"; File fileRoot = new File(path); if (!fileRoot.exists()) { fileRoot.mkdirs(); } File targetFile = new File(fileRoot.getAbsolutePath(), newFileName); try { file.transferTo(targetFile); } catch (IOException e) { return null; } AppFile appfile=new AppFile(); appfile.setOrderid(moneyReport.getId()); moneyReportService.deleteReport(appfile); String savePath=path+"/"+newFileName; String uuid = UUID.randomUUID().toString().replace("-", ""); appfile.setId(uuid); appfile.setFilename(newFileName); appfile.setFileaddress(savePath); appfile.setFilesize(String.valueOf(file.getSize())); appfile.setOrderid(moneyReport.getId()); appfile.setCreateDate(sdf.format(new Date())); u= UserUtils.getUser(); String areaCode=u.getOffice().getArea().getId(); appfile.setCreateBy(u); moneyReport.setReportFile(uuid); moneyReportService.saveReport(appfile);
服务器老是报404,最坑的事本地运行完全没问题,一到服务器就404,最后发现服务器在/usr/files/路径下有了一个叫fankui的文件!注意是文件而不是文件夹!所以404是指上传路径找不到,而不是controller没有映射!最后删了那个文件就OK了 不知道那个文件怎么产生的导致代码不能生成正确的文件夹