上传文件

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 @   窃窃私语QAQ  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示