asp.net利用ashx文件实现文件的上传功能
原来以为文件上传是一个比较简单的功能,结果搞了一个晚上才搞定~这里主要介绍两种方法实现。
方法一:Form表单提交
html代码:
上传文件
UploadHandler.ashx代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
namespaceWebApplication1
{
///
///UploadHandler的摘要说明
///
publicclassUploadHandler:IHttpHandler
{
publicvoidProcessRequest(HttpContextcontext)
{
context.Response.ContentType="text/plain";
HttpPostedFilefile=context.Request.Files["file_upload"];
stringfilePath=context.Server.MapPath("~/UploadFiles/")+System.IO.Path.GetFileName(file.FileName);
file.SaveAs(filePath);
context.Response.Write("上传文件成功");
}
publicboolIsReusable
{
get
{
returnfalse;
}
}
}
}
该方法虽然能够实现文件的上传,但是form表单提交之后整个页面就刷新了,如果要无刷新上传文件的话,就要使用ajax了。
方法二:jquery+ajax无刷上传
html代码:
上传文件
UploadHandler.ashx代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
namespaceWebApplication1
{
///
///UploadHandler的摘要说明
///
publicclassUploadHandler:IHttpHandler
{
publicvoidProcessRequest(HttpContextcontext)
{
context.Response.ContentType="text/plain";
if(context.Request.Files.Count>0)
{
HttpPostedFilefile=context.Request.Files["upload_file"];
stringfilePath=context.Server.MapPath("~/UploadFiles/")+System.IO.Path.GetFileName(file.FileName);
file.SaveAs(filePath);
context.Response.Write("Yes");
}
else
{
context.Response.Write("No");
}
}
publicboolIsReusable
{
get
{
returnfalse;
}
}
}
}
个人更推荐方法二,运行结果如下图所示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。