如何将多个文件名从输入类型文件传递到 Web 方法

Posted

技术标签:

【中文标题】如何将多个文件名从输入类型文件传递到 Web 方法【英文标题】:How to pass multiple file names from input type file to a web method 【发布时间】:2020-11-23 03:41:16 【问题描述】:

嗨,我有这个输入,类型为文件,启用了多选。 我需要从文件输入中获取文件并将其传递给我的 webmethod,但我的 webmethod 中没有,我读到 prop 返回一个列表,我在 jquery 中有这个代码

function post_RepAttach()
var params = 
Ocap_no:$('#txtOcapNo').val(),
file_Name:$('#FileUpload1').prop("files")[0]

var files = $('#FileUpload1').prop("files")[0];
alert(files);
$.ajax(
        type: 'POST',
        contentType: 'application/json',
        url: baseUrl + 'Create-OCAP.aspx/post_attachment_rep',
        data: JSON.stringify(params),
        dataType: 'json',
        success: function (data) 
            var response = data;

            if (typeof callback != 'undefined') 
                //hideLoadingGif();
                //callback(response);
            

        ,
        error: function (xhr, status, error) 
            //hideLoadingGif();
            console.log(xhr, status, error);
        
    );

我试过这个$('#FileUpload1').prop("files") 删除[0] 但仍然没有运气 这是我的网络方法

  [WebMethod]
        public static string post_attachment_rep(string Ocap_no, List<string> file_Name)
        
            OcapDataAccess ODA = new OcapDataAccess();
            bool result;

            result = ODA.insert_reports(HttpContext.Current.Request.MapPath("~/OCAP/files/Reports/" + file_Name.ToString()), Ocap_no);
            if (result == true)
            
                return "1";
            
            else
            
                return "0";
            

        

file_Name 计数为零,即使我选择了文件 我怎样才能实现它。 希望你明白我的意思

【问题讨论】:

你能告诉我们更多关于FileUpload1的细节吗?你在哪里读到i've read that prop return a list, 【参考方案1】:
var fileNames = $.map( $('#FileUpload1').prop("files"), function(val)  return val.name; );

参数是:

    var params = 
    Ocap_no:$('#txtOcapNo').val(),
    file_Name:fileNames 
 

【讨论】:

以上是关于如何将多个文件名从输入类型文件传递到 Web 方法的主要内容,如果未能解决你的问题,请参考以下文章

将多个请求文件从视图传递给一个方法?

如何将多个图像作为输入传递给python脚本

如何使用react将多个参数作为url中的对象传递

如何将多个变量从 VBS 传递到批处理脚本?

将多个 Blob 输入传递给 QueueTrigger Azure 函数的最佳方式

RequireJS:如何将变量从一个文件传递到另一个文件?