在您的页面上放置文件上传控件
<asp:FileUpload ID="FileUpload1" runat="server"/>
构建一个 http 处理程序来处理文件上传:
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile fileToUpload = context.Request.Files["Filedata"];
string pathToSave = HttpContext.Current.Server.MapPath("~/Files/")
+ fileToUpload.FileName;
fileToUpload.SaveAs(pathToSave);
//Process file
}
public bool IsReusable {
get {
return false;
}
}
}
看看是否可以将uploadify之类的上传插件集成到项目中(需要jQuery)。
<script type = "text/javascript">
$(document).ready(function()
{
$("#<%=FileUpload1.ClientID %>").uploadify(
{
'swf': 'Scripts/uploadify.swf',
'uploader': 'Handler.ashx',
'auto': true,
'buttonText': 'Select File(s)'
});
});
</script>
如果你不能做到这一点,你需要了解 ajax 是如何工作的
Ajax 通常使用 XMLHttpRequest,它不允许您对本地文件进行编码并将其发送到服务器。
您可以使用 Flash swf 来处理同一页面上的上传,或者使用具有不可见 1x1 iframe 目标的表单。
我在这个博客上找到了关于在 asp.net 中上传文件的代码