java --MultipartFile附件上传(简单的视频上传)

72 篇文章 0 订阅
10 篇文章 0 订阅


import com.admin.common.ApplicationConstants;
import com.admin.utils.PreCondition;
import org.apache.commons.lang.math.RandomUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.Date;

/**
 * Created by amoslong on 2017/12/28.
 */
public class UploadUtils {
    private final static Logger LOG = LoggerFactory.getLogger(UploadUtils.class);

    public final static String CDN_URL = "/data/cdnfiles/"; // 图片CDN加速地址

    public final static String IMG_URL = "http://i.shihuowang.com";
    
    public static String upload(MultipartFile file1) {
        String original1 = file1.getOriginalFilename();
        int index = original1.lastIndexOf(".");
        String extend1 = original1.substring(index);
        extend1=extend1.toLowerCase();
        if(!extend1.equals(".mp4") && !extend1.equals(".avi") && !extend1.equals(".flv") && !extend1.equals(".rmvb") && !extend1.equals(".wmv") && !extend1.equals(".3gp") && !extend1.equals(".mkv")
                && !extend1.equals(".rm")&& !extend1.equals(".asf")&& !extend1.equals(".mpeg")
        ){
            PreCondition.isTrue(false, "视频格式有误,可上传得格式:mp4,mpg,avi,mov,flv,mkv,f4v,rmvb,wmv,rm,asf,mpeg");
        }
        Long len = file1.getSize();
        if((len/1024)>(1024*5)){
            PreCondition.isTrue(false, "文件过大请剪裁后重新上传");
        }
        String path1 = StringTools.dateToString(new Date(), "yyyyMMDDHHmmss") + RandomUtils.nextInt(10000) + extend1;
        String dateToday = DateFormatUtils.format(new Date(), "yyyyMMdd");
        File directory = new File(ApplicationConstants.CDN_URL + "nopas/"+dateToday);
        if (!directory.exists()) {
            directory.mkdirs();
        }
        ProcessBuilder processBuilder = null;
        processBuilder = new ProcessBuilder("chmod", "-R", "755", directory.toString() + "/");
        if (!file1.isEmpty()) {
            try {
                File lightImgFile = new File(directory.getAbsolutePath() + "/" + path1);
                file1.transferTo(lightImgFile);
                processBuilder.start();
            } catch (IOException e) {
                LOG.error("找不到文件");
            }
        }
        return ApplicationConstants.IMG_URL + "/nopas/" + dateToday + "/" + path1;
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值