java ssm项目 视频、图片、文件多功能上传

后端部分

  • 文件上传工具类
/**
 * 〈文件上传〉
 *
 * @author Peter.Gu
 * @create 2019-03-12
 * @since 1.0.0
 */

public class KitFileUtil {

    private static ServletContext servletContext;

    public Map<String, Object> kitFileUtil(@RequestParam("uploadFiles") MultipartFile[] uploadFiles, HttpServletRequest request, HttpServletResponse response) {

        if (uploadFiles.length==0){
            return getError("未选择文件!");
        }

        // 文件保存目录路径
        String savePath = request.getSession().getServletContext().getRealPath("") + "/";
        System.out.println("正确路径:" + savePath);

        //文件保存目录URL
        String saveUrl = request.getContextPath() + "/";

        //定义允许上传的文件扩展名
        HashMap<String, String> extMap = new HashMap<String, String>();
        extMap.put("image", "gif,jpg,jpeg,png,bmp");
        extMap.put("flash", "swf,flv");
        extMap.put("video", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4");
        extMap.put("file", "doc,docx,xls,xlsx,ppt,txt,zip,rar,gz,bz2");
        extMap.put("audio","mp3,mid,wma,amr,m4a,aif,wav");

        //最大文件大小
        long maxSize = 11000000;

        response.setContentType("text/html; charset=UTF-8");

        //判断客户端<form>标记的enctype属性是否是“multipart/form-data"
        if (!ServletFileUpload.isMultipartContent(request)) {
            return getError("请选择文件。");
        }

        //检查目录
        File uploadDir = new File(savePath);
        if (!uploadDir.exists()) {
            uploadDir.mkdir();
            //return getError("上传目录不存在。");
        }

        //检查目录写权限
        if (!uploadDir.canWrite()) {
            return getError("上传目录没有写权限。");
        }

        //获取请求中dir的参数
        String dirName = request.getParameter("dir");
        if (dirName == null) {
            dirName = "image";
        }
        //校验文件格式(map)中是否存在该键
        if (!extMap.containsKey(dirName)) {
            return getError("目录名不正确。");
        }

        //生成文件目录
        savePath += dirName + "/";
        saveUrl += dirName + "/";

        //判断目录是否存在,不存在则创建文件夹
        File saveDirFile = new File(savePath);
        if (!saveDirFile.exists()) {
            saveDirFile.mkdirs();
        }

        //创建年月日目录,
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String ymd = sd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值