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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。