我有一项任务可以使图像更加现代和最新上传。Pulling asp:FileUpload通过AJAX上传数据。可能吗?
目前,asp:FileUpload选项位于一个窗体内,并且窗体和asp:FileUpload都在服务器上运行。
这是我的代码的简化版本:
<form id="form1" action="/handle.aspx" runat="server" method="post" enctype="multipart/form-data">
<asp:FileUpload runat="server" name="PhotoUpload" ID="PhotoUpload" />
<label>Please upload an image</label>
</form>
$('#form1').submit(function (e) {
$.ajax({
type: "post",
url: $(this).attr('action'),
data: $('#form1').serialize(),
success: function (data) {
alert('This form was successful');
},
error: function (error) {
console.log(error);
}
});
e.preventDefault();
});
我敢肯定我的AJAX调用工作正常,因为在形式背后的代码提交。我的问题是,当我试图从asp:FileUpload中获取值时,它在后面的代码中始终为空。
在后面,我试图收集的图像文件通过这种方式,但它总是回来为空:
HttpPostedFile holder = PhotoUpload.PostedFile;
现在我的问题:
是否有可能在我的Ajax调用提交即使按钮正在服务器上运行,asp:FileUpload信息到服务器?我应该以不同的方式去解决吗?
我不确定在提交服务器上运行的信息时是否存在一些差异。
请让我知道您的想法。 谢谢!
最好提供完整的解决方案如何让它工作 – Webruster
添加了另一条评论 – Learn12