上传文件

MultipartFile转File

最好用的

MultipartFile multiFile;
// 获取文件名
String fileName = multiFile.getOriginalFilename();
// 获取文件后缀
String prefix = fileName.substring(fileName.lastIndexOf("."));
File file = File.createTempFile(fileName, prefix);
multiFile.transferTo(file);
if (file.exists()) {  
    file.delete();  
}  

上传文件

/**
 * 上传文件到指定路径
 * @param multipartFile:文件
 * @param prefix:匹配后缀名是否合格
 * @return
 */
public static String uploadPicture(MultipartFile multipartFile){
    try {
        String fileName = multipartFile.getOriginalFilename();
        String filePrefix = fileName.substring(fileName.lastIndexOf("."));
        File file = new File(path+newFileName);
        // 如果父文件夹不存在,则创建
        File fileParent = file.getParentFile();
        if (!fileParent.exists()) {
            fileParent.mkdirs();
            // 新建文件夹、需要对文件授权(此处授予最高权限)
            Runtime.getRuntime().exec(" chmod 777 " + path);
        }else{
            // 存在原图片,则删除
            if (file.exists()) {
                file.delete();
            }
        }
        // 将内存的数据写到磁盘上,文件存储
        multipartFile.transferTo(file);
        // 写完数据,对该图片进行授权,方便其余用户删除 本地测试就注释掉
        Runtime.getRuntime().exec(" chmod 777 " + path + newFileName);
        return path + newFileName;
    } catch (IOException e) {
        log.error(e.getMessage());
        Assert.state(false, "上传文件失败!");
    }
    return "";
}
posted @ 2022-05-30 18:31  窃窃私语QAQ  阅读(31)  评论(0编辑  收藏  举报