HttpPostedFile类
在研究HttpRequest的时候,搞文件上传的时候,经常碰到返回HttpPostedFile对象的情况,这个对象才是真正包含文件内容的东西。
经常要获取的最重要的内容是FileName属性与SavaAs方法,现在我们来详细看看这个东西。
一、常用属性
- ContentLength: 获取上载文件的大小(以字节为单位)。返回一个数字。
- ContentType:获取客户端发送的文件的 MIME 内容类型。
- FileName: 获取客户端上的文件的完全限定名称。
- InputStream:获取一个 Stream 对象,该对象指向一个上载文件,以准备读取该文件的内容。
二、常用方法
- SaveAs 保存上载文件的内容。 可以服务器物理路径作为参数。
代码示例:
注意表单要加上enctype = "multipart/form-data",后台FileCollect.Count才不会为0。如:
<form action="/Home/GetForm" method="post" enctype="multipart/form-data">
<p><input type="file" name="file1" value="" /></p>
<p><input type="file" name="file2" value="" /></p>
<p><input type="submit" value="提交" /></p>
</form>
后台代码:
public ActionResult GetForm()
{
HttpRequest request = System.Web.HttpContext.Current.Request;
HttpFileCollection FileCollect = request.Files;
if (FileCollect.Count > 0) //如果集合的数量大于0
{
foreach (string str in FileCollect)
{
HttpPostedFile FileSave = FileCollect[str]; //用key获取单个文件对象HttpPostedFile
string imgName = DateTime.Now.ToString("yyyyMMddhhmmss");
string imgPath = "/" + imgName + FileSave.FileName; //通过此对象获取文件名
string AbsolutePath = Server.MapPath(imgPath);
FileSave.SaveAs(AbsolutePath); //将上传的东西保存
Response.Write("<img src='" + imgPath + "'/>");
}
}
return Content("键值对数目:" + FileCollect.Count);
}
HttpPostedFile类的更多相关文章
- HttpPostedFile类的使用方法
HttpPostedFile注意事项: (1) HttpPostedFile提供对客户端已上载的单独文件的访问. (2) 对于客户端已上载的文件,最好先保存到服务器,再访问:而不是直接访问 ...
- 文件上传之 HttpPostedFile
HttpPostedFile类,提供对客户端已上载的单独文件的访问. 公共属性如下: SaveAs()方法,用于保存上传文件的内容. 用法为: #region 文件上传 /// <summary ...
- HttpRequest 类
关于此类的介绍:查看HttpRequest类 点击查看:HttpRequest中方法的封装 跟这个类对应的HttpResponse类 定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 ...
- (4)ASP.NET HttpRequest 类
HttpRequest 类的主要作用是读取客户端在 Web 请求期间发送的 HTTP 值. https://msdn.microsoft.com/zh-cn/library/system.web.ht ...
- Cookie操作、ASP.Net文件上传HttpPostedFile
概述 Cookie用来保存客户浏览器请求服务器页面的请求信息. 我们可以存放非敏感的用户信息,保存时间可以根据需要设置.如果没有设置Cookie失效日期,它的生命周期保存到关闭浏览器为止,Cookie ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- jQuery AJAX 网页无刷新上传示例
新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...
- c#上传文件(二)使用文件流保存文件
1.html代码: <asp:FileUpload runat="server" ID="UpLoadFile"/> <asp:Button ...
- c#上传文件(一)使用 .net 控件上传文件
1.html代码: <body> <form id="form1" runat="server"> <div> <as ...
随机推荐
- Scrum介绍——续
四. Scrum过程 Scrum的过程如图4-1所示 图4-1 Scrum过程 4.1 建立Product Backlog Product Backlog是Product Owner把客户的商业需求按 ...
- 简话Angular 06 Angular自定义指令
一句话: 直接return link函数可以解决大多数问题,无须死扣用法 1. 上源码 (dom操作,事件,css,mode操作全包括了) <h3>Custom directive, wi ...
- forget word _a
forget word a~ 一再,铺音前 1● ab 2● ac 3● ad 4● af 5● ag 6● an 7● as 8● at 9● ap 10● ar
- 跟我一起学习ASP.NET 4.5 MVC4.0(四)
前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是权限验证,即AuthorizeAttribute.这个可以使用在控制器Controller上,也可以使用在Action ...
- FormShortCut MainForm 和 二级FORM
发现,主FORM 定义的快捷键,在二级FORM里也有效. 反过来,就无效. 这样的话,就要考虑 快捷键的冲突问题 了,本来以为不同的FORM 是独立的. http://codeverge.com/em ...
- Shiro 学习资料
参考链接:http://jinnianshilongnian.iteye.com/blog/2018398
- “开始菜单”按钮今年8月将重回Windows 8
本月早些时候微软明确表示,“开始菜单”将重新回归Windows 8操作系统.尽管微软当时并没有公布具体的时间表,但据熟悉微软内部运作的消息灵通人士透露称,“开始菜单”极有可能将出现在预计于今年8月发布 ...
- ImportError: cannot import name 'path'
ImportError: cannot import name 'path' django的版本问题 先卸载 django1.11.14 重新安装最新的django2.0.7
- 人工智能是如何改变IT运维和DevOps的?
要解决IT运维和DevOps团队面对的挑战,就是能够在大量的日志数据流中识别潜在的小的有害问题,这正是认知洞察力所做的事情. 接下来的几年里,DevOps(开发软件工程.技术运营和质量保障三者的交集) ...
- 求a^b
时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求a^b 由于结果可能很大,我们现在只需要知道这个值 mod 1012就可以了(为什么是1012?我的生日) ...