下面是对服务器上静态 Web 方法的 Ajax 请求。我想将文件及其相关详细信息发送到服务器。即使我将数据发送到服务器,我也无法使用 c#.net 访问服务器端的文件。
最困难的部分是访问静态 WebMethod 中的 FileUpload 控件。
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'UserProfile.aspx/EditProfile',
data: "{'file':'" + document.getElementById('FileUpload1').files[0] + "'}",
async: true,
success: function (response) {
$('#dialog-form').dialog("close");
}
});
最佳答案
不要尝试以 JSON 形式发送数据,而是以 FormData
的 formdata 形式发送数据您可以在服务器端读取该文件,就像使用常规表单上传文件一样。
var data = new FormData();
data.append('file', document.getElementById('FileUpload1').files[0]);
$.ajax({
type: 'POST',
url: 'UserProfile.aspx/EditProfile',
data: data,
async: true,
processData: false,
contentType: false,
success: function (response) {
$('#dialog-form').dialog("close");
}
});
关于javascript - 如何使用 ASP.NET 发送 FormData 并在服务器端处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742493/