ASP.NET知识总结(5.文件上传 文件下载)
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.文件上传 文件下载)的更多相关文章
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...
- ASP.NET Core 中的文件上传
ASP.NET Core上传文件 ASP.NET Core使用IFormFile来读取上传的文件内容,然后将数据写入到磁盘或其它存储空间. 添加FileUpload模型,用来接收上传的文件内容. pu ...
- ASP.NET 中对大文件上传的简单处理
在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的 ...
- ASP.NET MVC下使用文件上传
这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3. 根目录下添加新 ...
- ASP.NET中的FileUpload文件上传控件的使用
本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ...
- ASP.NET网络硬盘(文件上传,文件下载)
文件上传: 界面: 前台代码: <body style="text-align: center; background-image: url(Images/bg6.bmp);" ...
- [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
写在前面 客户有这样的一个需求,针对项目中文档共享的模块,客户提出如果用户上传特别的大,或者时间久了硬盘空间就会吃满,能不能将这些文件上传到其他的服务器?然后就稍微研究了下这方面的东西,上传到网络中的 ...
- asp.net.mvc 的单文件上传和多文件上传的简单例子
首先打开vs2012,创建空的mvc4项目,名称为MVCStudy,选择基本模板
随机推荐
- redis 的源码编译安装
首先我们下载软件包到指定的目录下 tar -zxvf redis-2.8.19.tar.gz cd redis-2.8.19 make make PREFIX=/usr/local/redis ins ...
- Django 1.9 Post 时候出现 CSRF token missing or incorrect 错误
get 的时候没有问题,只有在post的时候出现出现这个错误 在方法中加入 @csrf_exempt
- windows下使用vs进行Proctocol Buffer开发(C++篇)
因工作原因接触Proctocol Buffer(protobuf),至于什么是protobuf,为何使用protobuf,我就不赘述了,百度下都是答案. 今天我介绍的是在windows下使用vs进行p ...
- 解决:MIUI 8应用商店下载不了软件 APP
MIUI 8应用商店下载不了软件,是什么原因呢? 原因是:刷了国际版的MIUI,然后又刷回国内的MIUI,刷机时数据没有清理干净. 解决办法:使用RE管理器或者其他第三方可以编辑系统文件的文件管理器, ...
- Python学习 过程中零散知识点的总结
自学资料比较零碎,本文是对在Python学习过程中积累的零零散散的知识点的总结 ============================================================ ...
- SQL查询为什么不推荐使用select count(*)
select count(1). count(字段名) .count(*) 的区别
- SpringBoot源码解析:tomcat启动分析
>> spring与tomcat的启动分析:war包形式 tomcat:xml加载规范 1.contex-param: 初始化参数 2.listener-class: contextloa ...
- Java Web笔记之Servlet(1)
今天在学习Servlet时,使用浏览器显示的网页效果与预期的有差异,仔细查找发现实<!DOCTYPE>声明的问题,截图如下: 代码如下: package secondServlet; im ...
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- 【类库】容器对象(List、DataTable、 DataView、Dictionary)
首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白.因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间 ...