首页 > Web开发 > 详细

ASP.NET知识总结(5.文件上传 6.文件下载)

时间:2015-03-06 13:59:10      阅读:205      评论:0      收藏:0      [点我收藏+]

5、文件上传

-》说明:使用http协议只适合传输小文件,如果想传递大文件,则需要使用插件或者客户  端程序(使用ftp协议)

-》客户端操作

1》为表单添加属性:enctype="multipart/form-data"

2》在表单中添加控件:<input type="file" name="f1"/> 

3》表单必须使用post提交方式

-》服务器端操作

1》使用Request.Files属性获取文件对象

2》使用HttpPostedFile对象的SaveAs()方法保存

-》观察一下数据报文

当设置表单的enctype="multipart/form-data"属性后,不再是key-value格式,而是在请求体中使用分隔符划分

-》限制:不允许上传可执行文件,只允许上传静态文件

例:只允许上传图片

客户端校验

服务器端校验

-》提高:将文件保存到对应年、月、日文件夹下,以方便遍历

动态创建路径

拼接路径信息

《实例:aspnet项目复习/第二天/t1_Upload_Download

 

6、文件下载

-》使用超链接直接指定要下载的文件

能被浏览器解析的文会被显示

不能被浏览器解析的文件会被下载

-》实现:无论文件格式,都不使用浏览器显示,完成下载

指向一般处理程序,文件地址作为参数

修改响应头:ContentType = "application/octet-stream";

设置头信息:AddHeader("Content-Disposition", "attachment; filename=\"文件名\";");

输出文件:context.Response.WriteFile(文件地址);

-》提示:如果中文文件名乱码,可以进行url编码

HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);

返回一个字符串,作为文件的名字

《实例:aspnet项目复习/第二天/t1_Upload_Download

ASP.NET知识总结(5.文件上传 6.文件下载)

原文:http://www.cnblogs.com/fenger-VIP/p/4317877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!