【问题标题】:How to append multiple files into formdata using jquery如何使用jquery将多个文件附加到formdata中
【发布时间】:2018-11-02 11:01:22
【问题描述】:

我正在使用具有多个属性的输入类型文件。我想将文件保存到文件夹中。但我不确定如何附加多个文件。非常感谢您的帮助。

脚本

$(document).on('click', '.btnSubmit', function () {
     var data = new FormData();
        var files = $('[type="file"]').get(0).files;

        if (files.length > 0) {
         _.each(files, function (program, idx) {
                data.append("file", program);
            });
        }
        _appFun._ajaxcall({
                type: "POST",
                url: '/application/test/saveFiles',
                type: 'POST',
                data: data,
                cache: false,
                contentType: false,
                processData: false,
                success: function (data) {
                    //show content
                    alert('Success!')
                }
           });
});

C#

[HttpPost]
    public ActionResult saveFiles()
    {

        string directory = AppSettings.Application.uploadFolder;


        HttpPostedFileBase file = Request.Files["file"];

        if (file != null && file.ContentLength > 0)
        {
            var fileName = Path.GetFileNameWithoutExtension(file.FileName);

            string extension = Path.GetExtension(file.FileName);

            var randomId = uniqId();

            file.SaveAs(Path.Combine(directory, fileName + randomId + extension));
        }
        return RedirectToAction("Index");
    }

【问题讨论】:

  • 您是否尝试在多个输入区域之间循环?
  • data.append("file", program); 我认为每个文件都必须有一个唯一的 id。您正在尝试将它们全部命名为“文件”。不过不确定
  • 试试这个:data.append("file[]", program);

标签: c# jquery ajax file-upload


【解决方案1】:

如果您尝试循环通过相同的输入区域,您可以这样做:

var data = new FormData();
var files = $('[type="file"]')[0].files;

if (files.length > 0) {
    var count = 0;
    $(files).each(function(i, value){
        count++;
        var variableName = "name" + count;
        data.append(variableName, value[i].files[0]);
    }
}

【讨论】:

    猜你喜欢
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2020-06-23
    • 2021-12-05
    • 2020-10-19
    • 2017-12-25
    • 2019-09-21
    相关资源
    最近更新 更多