如何在没有任何回发的情况下将文件异步上传到 asp.net 网站(Webforms)?
问问题
1284 次
1 回答
0
为此目的,使用jQuery Forms 插件很简单。我们可以在 asp webforms 中使用它,如下所示。
HTML / ASPX 页面
<form id="myForm" action="fileupload.ashx" method="post">
Name: <input type="text" name="name" />
File: <input type="file" name="filetoupload" />
<input type="submit" value="Submit Comment" />
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
$(document).ready(function () {
// attach handler to form's submit event
$('#myForm').submit(function () {
// submit the form
$(this).ajaxSubmit();
// return false to prevent normal browser submit and page navigation
return false;
});
});
</script>
本示例中使用的纯 HTML。如果是aspx webforms,那么页面中将只有一个表单标签。
将 WebHandler(.ashx 扩展名)添加到网站。
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile MyFile=context.Request.Files["filetoupload"];
if (MyFile.ContentLength > 0 && MyFile != null)
{
MyFile.SaveAs(context.Server.MapPath("Path/On/Server"));
}
context.Response.Write("Saved Successfully");
}
public bool IsReusable {
get {
return false;
}
}
于 2013-11-19T09:15:10.887 回答