上传pdf

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36675996/article/details/80853850

前台:

<!--type为file-->
<input type="file" name="uploadFile" id="file_upload" onchange="setFlie(this)"/>
<!--进度条-->
<div class="progress progress-striped active" style="width:30%; display:none" id="testDiv">  
  <div id="test" class="progress-bar progress-bar-success"  role="progressbar" style="width: 0%;">  
    </div>  
    </div> 

//js
//pdf上传
function setFlie(obj) {//用于进行pdf上传,返回地址
    var f = $(obj).val();
    //判断文件是否为空
    if (f == null || f == undefined || f == '') {
        return false;
    }
    //判断上传的文件是否为pdf格式
    if (!/\.(?:pdf)$/.test(f)) {
        layer.alert("类型必须是pdf格式(.pdf)",{icon: 2});
        $(obj).val('');
        return false;
    }
    $("#testDiv").css("display","block");
    //进度条
     $("#test").css("width","20%");
    var data = new FormData();
    //文件大小
    var filesize = 0; 
    var maxsize = 20*1024*1024;//文件上传最大值20M
    $.each($(obj)[0].files, function(i, file) {
        filesize = file.size;
        data.append('file', file);
    });
    //判断是否超出限制
    if(filesize>maxsize){
        parent.layer.msg('上传文件请勿超过20M!', {time : 2000,icon : 2});
        return false;
            }

    var path = "http://xxxx/basicInfo/uploadFile";
    //进度条
    $("#test").css("width","50%");
    $.ajax({
        type : "POST",
        url : path,
        data : data,
        cache : false,
        contentType : false, //不可缺
        processData : false, //不可缺
        dataType : "json",
        success : function(suc) {
            if (suc.code == 0) {
                $("#test").css("width","100%");
                //这里可以写上传成功后的一些逻辑
                parent.layer.msg('上传成功!', {time : 1200,icon : 1});
                $("#testDiv").css("display","none");
            } else {
                parent.layer.msg('上传失败!', {time : 1200,icon : 2}); 
                $("#testDiv").css("display","none");
                $("#url").val("");
                $(obj).val('');
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            parent.layer.msg('上传失败,请检查网络后重试!', {time : 1500,icon : 2});  
            $("#url").val("");
            $(obj).val('');
        }
    });

}

controller

    // 上传pdf附件
    @ResponseBody
    @RequestMapping(value = "basicInfo/uploadFile", method = RequestMethod.POST)
    public String uploadFile(@RequestParam(value = "file", required = false) MultipartFile file,
            HttpServletRequest request) {

        File targetFile = null;
        String msg = "";// 返回存储路径
        int code = 1;
        String fileName = file.getOriginalFilename();// 获取文件名加后缀
        if (fileName != null && fileName != "") {
            String returnUrl = "xxxxx";// 存储路径
            String path = "xxx"; // 文件存储位置
            String fileF = fileName.substring(fileName.lastIndexOf("."), fileName.length());// 文件后缀
            fileName = new Date().getTime() + "_" + new Random().nextInt(1000) + fileF;// 新的文件名

            // 先判断文件是否存在
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            String fileAdd = sdf.format(new Date());
            File file1 = new File(path + "/" + fileAdd);
            // 如果文件夹不存在则创建
            if (!file1.exists() && !file1.isDirectory()) {
                file1.mkdir();
            }
            targetFile = new File(file1, fileName);
            try {
                file.transferTo(targetFile);
                msg = returnUrl + fileAdd + "/" + fileName;
                code = 0;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return JSON.toJSONString(ResponseResult.result(code, msg));
    }

搞定!

猜你喜欢

转载自blog.csdn.net/qq_36675996/article/details/80853850
pdf