1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 若依分离版的文件上传

若依分离版的文件上传

时间:2024-02-26 19:40:09

相关推荐

若依分离版的文件上传

若依分离版的文件上传详解

若依文件上传:深度解析若依文件上传操作

若依:文件上传:示例:通过若依自带的文件上传的接口实现文件上传的步骤。

问题描述

近几天在完成一个文件上传和下载的一个需求开发,对于内部实现充满好奇,因此观察了若依的内部的实现步骤,并进行解析,最后记录自己的学习成果

对于上述图片的标注地点,实际上是文件的上传位置,是文件上传到的地方。

String fileName = FileUploadUtils.upload(filePath, file);

以上的代码会进行文件的上传 ,同时会生成一个具有新名称的文件,同时会上传到我们指定的路径的文件中去,同时我们可以设置上传文件的大小,上传文件的名称的大小。

/*** 默认大小 50M*/public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;/*** 默认的文件名最大长度 100*/public static final int DEFAULT_FILE_NAME_LENGTH = 100;/*** 默认上传的地址*/private static String defaultBaseDir = RuoYiConfig.getProfile();

比对是否是我们需要的文件的类型,通过获取文件的后缀名,如果后缀名不符合要求抛出异常

/*** 获取文件名的后缀** @param file 表单文件* @return 后缀名*/public static final String getExtension(MultipartFile file){String extension = FilenameUtils.getExtension(file.getOriginalFilename());if (StringUtils.isEmpty(extension)){extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType()));}return extension;}/*** 判断MIME类型是否是允许的MIME类型** @param extension* @param allowedExtension* @return*/public static final boolean isAllowedExtension(String extension, String[] allowedExtension){for (String str : allowedExtension){if (str.equalsIgnoreCase(extension)){return true;}}return false;}

获取文件的绝对路径进行上传

String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();file.transferTo(Paths.get(absPath));

本质依然是i/o流的传输,但是在命名上做足了功夫

default void transferTo(Path dest) throws IOException, IllegalStateException {FileCopyUtils.copy(getInputStream(), Files.newOutputStream(dest));}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。