若依前后端不分离-制作文件上传页面
1.展示案例: 由于客户要求每个表格中需要上传几种文件类型(比如工作方案,情况报告等)的文件,并且每个文件类型可能上传多个文件(比如有好几个工作方案的情况),所以在添加的弹框中会显示一个下拉框如下所示,选择需要上传文件对应的分类,上传后,此分类会显示在文件类型一栏,而上传的文件名称则会显示在文件名称一栏,同时每个文件(包含jpg,png,word,pdf,excel类型)都可以进行预览和下载的功能。 2.功能实现: (1)首先是建立数据库,并且利用若依自动生成代码的功能生成基础的代码。 本来可以只定义一个文件名称FileName,但是发现上传文件后,显示的是(文件地址+文件名称+随即序号),所以创建了三个字段分别存储这三个信息。 (2)分割(文件地址+文件名称+随即序号),在文件名称字段只显示上传文件时的文件名称。 在commonCommonController.java中修改上传文件的代码: (3)上传流程 (4)预览流程 (5)下载流程
/**
* 上传文件
*/
@PostMapping("/upload")
@ResponseBody
public AjaxResult uploadFile(MultipartFile file) throws Exception {
try {
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String preview="/preview"+fileName;
String url = file.getOriginalFilename() + "---" + preview + "---" +filePath+fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("url", url);
ajax.put("fileName", fileName);
ajax.put("newFileName", FileUtils.getName(fileName));
ajax.put("originalFilename", file.getOriginalFilename());
return ajax;
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
