【发布时间】:2017-03-08 17:40:35
【问题描述】:
我正在尝试构建简单的图像上传到服务器。 页面是带有网络表单的基本 asp.net 页面。
HTML 代码 - 工作正常
<div>
<input type="file" id="myPhoto" />
<input type="button" id="upload" value="Upload" />
</div>
在后端,我在 dog.aspx 中的代码是
[WebMethod(EnableSession = true)]
public static string uploadDoc(HttpPostedFileBase file)
{
try
{
string _file = mkStorage.UploadImg(file);
return _file;
}
catch (Exception e)
{
return e.Message;
}
}
还有我在使用 jQuery ajax 调用时遇到的问题。它仅将整个页面作为 html 返回到控制台。它甚至不会调用 WebMethod,因为我的刹车点不会激活。
Javascript 代码
$(document).ready(function () {
$("#upload").click(function () {
var formdata = new FormData();
var _image = $('#myPhoto')[0].files[0];
formdata.append('file', _image);
$.ajax({
type: "POST",
url: "dog.aspx/uploadDoc",
data: formdata,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (result) { console.log(result);},
error: function (result) { console.log(result); }
});
});
});
我还有其他 ajax 调用,它们工作正常。但是那些只将 json 传递给 WebMethod。所以我认为我的 ajax 调用参数有问题。
【问题讨论】:
标签: c# jquery asp.net ajax image-uploading