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

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。