首页 > 解决方案 > 如何将多个文件名从输入类型文件传递到 Web 方法

问题描述

嗨,我有这个输入,类型文件启用了多选。我需要从文件输入中获取文件并将其传递给我的 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

  [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即使我选择了文件,计数也为零,我该如何实现它。希望你明白我的意思

标签: javascriptc#jqueryasp.net.net

解决方案


var fileNames = $.map( $('#FileUpload1').prop("files"), function(val) { return val.name; });

和参数是:

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

推荐阅读