com.llermon.CommonController 下uploadFile方法
开始debug调试
**
// 上传文件路径String filePath = UploadPath();
进入RuoYiConfig类下找到getUploadPath()方法
/*** 获取上传路径*/public static String getUploadPath(){return getProfile() + "/upload";}public static String getProfile(){return profile;}/** 上传路径 */private static String profile;
其中静态变量profile为 配置文件l 下更改(注解@ConfigurationProperties获取配置文件中参数)
得到filePath
String fileName = FileUploadUtils.upload(filePath, file);
FileUploadUtils(文件上传工具类下)upload 方法
/*** 根据文件路径上传** @param baseDir 相对应用的基目录* @param file 上传的文件* @return 文件名称* @throws IOException*/public static final String upload(String baseDir, MultipartFile file) throws IOException{try{return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);}catch (Exception e){throw new Message(), e);}}
upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION)
传入文件路径,文件流,允许传入文件格式
/*** 文件上传** @param baseDir 相对应用的基目录* @param file 上传的文件* @param allowedExtension 上传文件类型* @return 返回上传成功的文件名* @throws FileSizeLimitExceededException 如果超出最大大小* @throws FileNameLengthLimitExceededException 文件名太长* @throws IOException 比如读写文件出错时* @throws InvalidExtensionException 文件校验异常*/public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,InvalidExtensionException{int fileNamelength = OriginalFilename().length();if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH){throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);}assertAllowed(file, allowedExtension);String fileName = extractFilename(file);File desc = getAbsoluteFile(baseDir, fileName);ansferTo(desc);String pathFileName = getPathFileName(baseDir, fileName);return pathFileName;}
判断文件长度是否大于默认值,判断文件是否允许上传,
使用extractFilename方法获取新的文件名
/*** 编码文件名*/public static final String extractFilename(MultipartFile file){ //获得文件原始名String fileName = OriginalFilename();//获取文件格式String extension = getExtension(file);//DateUtils.datePath()获取当前日期 并将三部分拼接形成新的文件名fileName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension;return fileName;}
String url = Url() + fileName;
AjaxResult ajax = AjaxResult.success();ajax.put("fileName", fileName);ajax.put("url", url);return ajax;
本文发布于:2024-02-02 18:09:29,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170686922345529.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |