如何将文件与其他数据一起发送到webmethod ?不使用任何插头

本文关键字:webmethod 任何插 文件 其他 一起 数据 | 更新日期: 2023-09-27 18:02:00

好的,所以我有几个输入字段等,我发送这些字段的数据到服务器端webmethod。它工作得很好。但我也想发送文件到相同的webmethod(而不是ashx处理程序)与其他输入字段的数据。你能帮我一下吗?

调用存储数据在数据库

的webmethod
function SendToServer(name,lineitems) {
            $.ajax({
                type: "POST",
                url: "test.aspx/PostDataWM",
                data: JSON.stringify({ name: name,lineitems: lineitems }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: true,
                success: function (data, status) {
//                    console.log("CallWM");
                    alert(data.d);
                },
                failure: function (data) {
                    alert(data.d);
                },
                error: function (data) {
                    alert(data.d);
                }
            });
        }

文件上传标记

  <span style="font-family: Arial">Click to add files</span>&nbsp;&nbsp;
        <input id="Button1" type="button" value="add" onclick="AddFileUpload()" />
        <br />
<br />
        <div id="FileUploadContainer">
            <!--FileUpload Controls will be added here -->
        </div>
     <script type="text/javascript">
         var counter = 0;
         function AddFileUpload() {
             var div = document.createElement('DIV');
             div.innerHTML = '<input id="file' + counter + '" name = "file' + counter + '" type="file" class="clsFileUpload" /><input id="Button' + counter + '" type="button" value="Remove" onclick = "RemoveFileUpload(this)" />';
             document.getElementById("FileUploadContainer").appendChild(div);
             counter++;
         }
         function RemoveFileUpload(div) {
             document.getElementById("FileUploadContainer").removeChild(div.parentNode);
         }
     </script>

WebMethod

   [WebMethod(enableSession: true)]    
    public static string PostDataWM(string name,string lineitems)
    {
     //blah blah
    }

如何将文件与其他数据一起发送到webmethod ?不使用任何插头

无需对数据进行字符串化。
直接试试吧。您可以在代码级别获取数据

            type: "POST",
            url: "test.aspx/PostDataWM",
            data: { name: name,lineitems: lineitems },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: true,