feige
2025-05-06 c24698dacd5d43d99bbae35b430a189675a6532b
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -25,12 +25,12 @@
    /**
     * 默认大小 50M
     */
    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
    public static final long DEFAULT_MAX_SIZE = 1024 * 1024 * 1024;
    /**
     * 默认的文件名最大长度 100
     */
    public static final int DEFAULT_FILE_NAME_LENGTH = 100;
    public static final int DEFAULT_FILE_NAME_LENGTH = 500;
    /**
     * 默认上传的地址
@@ -54,11 +54,11 @@
     * @return 文件名称
     * @throws Exception
     */
    public static final String upload(MultipartFile file) throws IOException
    public static final String upload(MultipartFile file,String fname) throws IOException
    {
        try
        {
            return upload(getDefaultBaseDir(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
            return upload(getDefaultBaseDir(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION,fname);
        }
        catch (Exception e)
        {
@@ -74,11 +74,11 @@
     * @return 文件名称
     * @throws IOException
     */
    public static final String upload(String baseDir, MultipartFile file) throws IOException
    public static final String upload(String baseDir, MultipartFile file,String fname) throws IOException
    {
        try
        {
            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION,fname);
        }
        catch (Exception e)
        {
@@ -98,7 +98,7 @@
     * @throws IOException 比如读写文件出错时
     * @throws InvalidExtensionException 文件校验异常
     */
    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)
    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension,String fname)
            throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
            InvalidExtensionException
    {
@@ -110,7 +110,7 @@
        assertAllowed(file, allowedExtension);
        String fileName = extractFilename(file);
        String fileName = extractFilename(file,fname);
        String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
        file.transferTo(Paths.get(absPath));
@@ -120,8 +120,11 @@
    /**
     * 编码文件名
     */
    public static final String extractFilename(MultipartFile file)
    public static final String extractFilename(MultipartFile file,String fname)
    {
        if (StringUtils.isNotEmpty(fname)){
            return fname+'.'+getExtension(file);
        }
        return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(),
                FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file));
    }