【问题标题】:Uploading multiple files using jQuery使用 jQuery 上传多个文件
【发布时间】:2014-10-31 06:49:43
【问题描述】:

我正在通过AJAX/JSON之类的方式在mvc中上传多个文件,

$(document).ready(function () {
$('#fileupload').fileupload({
    dataType: 'json',
    url: '/eSignature/FileUpload/UploadFiles',
    autoUpload: true,
    done: function (e, data) {
        $('.file_name').html(data.result.name);
        $('.file_type').html(data.result.type);
        $('.file_size').html(data.result.size);
    }
}).on('fileuploadprogressall', function (e, data) {
    var progress = parseInt(data.loaded / data.total * 100, 10);
    $('.progress .progress-bar').css('width', progress + '%');
});

});

下面是我的控制器逻辑

public ActionResult UploadFiles()
    {
        List<UploadFilesResult> model = new List<UploadFilesResult>();
        int count = Request.Files.Count;

        foreach (string file in Request.Files)
        {
            HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
            if (hpf.ContentLength == 0)
                continue;

            string savedFileName = Path.Combine(Server.MapPath("~/App_Data"), Path.GetFileName(hpf.FileName));
            hpf.SaveAs(savedFileName);

            model.Add(new UploadFilesResult()
            {
                Name = hpf.FileName,
                Length = hpf.ContentLength,
                Type = hpf.ContentType
            });

        }

        return View();

    }

我的问题是在迭代 Request.Files 时;虽然我上传了多个文件,但一次只显示一个文件。

第一个文件上传后;然后再次调用该方法本身;在这里它显示所有文件的第二个文件名等等?为什么会这样?

因为,我在 for 循环中更新我的模型,其中只存储最后一个值。

我在这里缺少什么?????????

【问题讨论】:

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


    【解决方案1】:

    为什么要创建自己的,当我们有第三方插件来做同样的事情时,试试Jquery Uploadify

    【讨论】:

    • 我已经看到了。但我们不想使用闪光灯。
    猜你喜欢
    • 2014-05-04
    • 2019-01-26
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多