formData上传文件并显示进度

jq封装的xhr

function upgrade() {
    var file = $('.file')[0].files[0];
    var formdata = document.getElementById("upgrade");
    var formData = new FormData(formdata);
    // console.log(formData, file)
    if (!file) return false;
    $.ajax({
        type: 'post',
        url: ip + 'mgmt/sysUpgrade.do',
        data: formData,
        //上传文件下面这三个一定要加上
        cache: false,
        contentType: false,
        processData: false,
        xhr: function () {//这里是计算上传进度
            myXhr = $.ajaxSettings.xhr();
            if (myXhr.upload) {
                myXhr.upload.addEventListener('progress', function (e) {
                    if (e.lengthComputable) {
                        var percent = Math.floor(e.loaded / e.total * 100);
                        $('#progress').css('width', percent + '%')
                        $('#progress').html(percent + '%')
                    }
                }, false);
            }
            return myXhr;
        },
        success: function (res) {

        }
    })
}

猜你喜欢

转载自blog.csdn.net/jx950915/article/details/81116383