前端接受文件调用后台上传文件的方法

Posted 洛阳之晨,譬如临安初雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端接受文件调用后台上传文件的方法相关的知识,希望对你有一定的参考价值。

需要用到

slice() 方法

参考

http://www.w3school.com.cn/jsref/jsref_slice_array.asp

前端html使用标签是

type=file的input标签,可以直接选择文件上传

JS:

 function () {
        var file = $("#SelectImageFile")[0].files[0];
        var fileName = file.name;
        var fileSplitSize = 1 * 1024 * 1024;  //文件分段大小5M
        var size = file.size;
        var posturl = postWebUrl;//上传文件的后台方法地址
        var formData = new FormData();
        var index1 = fileName.lastIndexOf(".");
        var index2 = fileName.length;
        var suffix = fileName.substring(index1, index2);//后缀名
        //如果需要限制后缀名,可以这么写
        if (suffix != ".rar" && suffix != ".zip" && suffix != ".7z") {
            msg("上传的影像信息必须为.rar,.zip,.7z格式");
        } else {
            formData.append("file", file.slice(start, start +fileSplitSize));
            formData.append("name", fileName);
            $.ajax({
                url: posturl,
                type: ‘POST‘,
                data: formData,  // 告诉jQuery不要去处理发送的数据 
                processData: false,  // 告诉jQuery不要去设置Content-Type请求头 
                contentType: false,
                beforeSend: function () {
                    //console.log("正在进行,请稍候");
                },
                //分段上传,1-5上传成功后,再上传6-11,以此类推,成功后,给出提示,在成功之前,会一直显示上传进度
                success: function (data) {
                    $("#process").show();//进度条显示
                    if (start + fileSplitSize >= size) {
                        $("#spnProcessShow").css("width", "100%");
                        $("#spnProcessText").html("上传完成,已上传100%");
                    } else {
                        start += fileSplitSize;
                        Percentage = Math.round(start / size * 100);
                        $("#spnProcessShow").css("width", Percentage + "%");
                        $("#spnProcessText").html("正在上传,已上传" + Percentage + "%");
                    }
                },
                error: function (data) {
                    start = 0;
                    $("#process").hide();//隐藏进度条
                    $("#spnProcessShow").css("width", "0%");
                    $("#lblMsg").html("影像上传失败");
                    
                }
            });
        }
    }    

 

以上是关于前端接受文件调用后台上传文件的方法的主要内容,如果未能解决你的问题,请参考以下文章

jquery-from.js上传附件,回调返回的结果是前端页面或者是下载文件!!!

多文件上传以及java后台接受

多文件上传以及java后台接受

前端文件上传多种方式

springMVC含文件上传调用ajax无法连接后台

java-文件上传-excel存入数据库全代码及流程(附前端代码)