使用ajax进行个人和整体文件上传进度

时间:2014-11-23 07:05:58

标签: jquery asp.net ajax jquery-file-upload

我正在尝试使用ajax jquery创建多文件上传控件。我不想使用jquery文件上传插件或blueimp插件。

这是我的代码 -

$("#upload").click(function () {
    var data = new FormData();
    for (var i = 0; i < selectedFiles.length; i++) {
        data.append(selectedFiles[i].name, selectedFiles[i]);
    }
    $.ajax({
        type: "POST",
        url: "FileHandler.ashx",
        contentType: false,
        processData: false,
        async: true,
        cache: false,
        data: data,
        xhr: function () {
            myXhr = $.ajaxSettings.xhr();
            if (myXhr.upload) {
                myXhr.upload.addEventListener('progress', progressHandlingFunction, false);
            }
            return myXhr;
        },
        success: function (result) {
            //alert(result);
        },
        error: function (e) {
            alert("There was error uploading files!");
        }
    })
    function progressHandlingFunction(e) {
        if (e.lengthComputable) {
            var s = Math.ceil(e.loaded / e.total) * 100;
            console.log(s);
            progress(s, $('#progressBar'));
        }
    };        
});

我必须像blueimp插件一样显示个人和整体文件上传进度。无法为它做任何教程。

有人可以指点我的教程或更正我的代码吗? 如何在文件上传失败时获取错误报告以及原因是什么?

由于

0 个答案:

没有答案