0%

web上传文件并保存使用

一、接收上传的文件

1
2
3
4
5
6
HttpPostedFile file=context.Request.Files[0];//file 接收了上传的文件
//HttpPostedFile 提供已上载的客户端的各个文件的权限
//file 对象名
//context 封装有关个别 HTTP 请求的所有 HTTP 特定的信息的HttpContext对象名
//Request 为当前 HTTP 请求获取 System.Web.HttpRequest 对象
//Files 获取采用多部分 MIME 格式的由客户端上载的文件的集合

二、检测上传文件的大小

1
2
3
获取到的文件.ContentLength

//ContentLength 获取已上载文件的大小(以字节为单位)

三、 判断文件类型

1、获取文件的类型

1
2
3
4
5
Path.GetFileName(获取到的文件.FileName);

//Path 对包含文件或目录路径信息的 System.String 实例执行操作
//GetFileName 返回指定路径字符串的文件名和扩展名
//FileName 获取客户端上文件的完全限定名称(其实就是获取文件名)

2、获取文件扩展名

1
2
3
Path.GetExtension(获取到的文件名);
//Path 对包含文件或目录路径信息的 System.String 实例执行操作
//GetFileName返回指定路径字符串的扩展名

四、给予上传文件唯一标识

1
2
3
Guid.NewGuid().ToString();//标识为MD5值
//Guid 表示全局唯一标识
//NewGuid() 创建一个新标识

五、保存到指定目录或者创建指定目录

1、判断指定目录是否存在

1
2
3
if (!Directory.Exists(context.Request.MapPath(dir)))
//Directory 公开用于通过目录和子目录进行创建、移动和枚举的静态方法。
//Exists 确定给定路径是否引用磁盘上的现有目录

2、创建文件夹

1
2
3
 Directory.CreateDirectory(路径);
//Directory 公开用于通过目录和子目录进行创建、移动和枚举的静态方法。
//CreateDirectory 在指定路径中创建所有目录和子目录,除非它们已经存在。

3、保存文件

1
2
文件对象.SaveAs(保存的路径);
//SaveAs 保存已上载文件的内容