ASP.NET权限管理系统中有用到。站点文件管理,可以对站点的目录文件进行管理。 up up up
使用ASP.NET 制作一个可以存放Client 端档案的网页相当容易,因为ASP.NET 里就有提供我们将Client 端档案传至Server 端的对象,这个对象就是HtmlInputFile 对象。HtmlInputFile 对象必须存在窗体中,而且窗体<Form> 标注中必须加入设定Enctype="Multipart/Form-Data" 属性才可使用。HtmlInputFile 对象的语法如下所示:
<Input Type="File" Id="被程序所控制的名称" Runat="Server">
当一个档案传送到Server 端后,接收和处理的是HtmlInputFile 对象的PostedFile 属性。PostedFile 属性的型态是HttpPostedFile 对象类别,其常用属性如下表所示:
属性 说明 型态
ContentLength 传回上传文件的长度单位byte Integer
ContentType 传回上传文件的类型 String
FileName 传回client端上传文件的名称,
具有完整的路径如c:\aa\aa.txt String
其常用方法如下表所示:
方法 说明 语法
SaveAs() 将客户端上传的文件存在服务器的磁盘中 SaveAs(ByVal Filename As String )
一次性上传多文件
HttpFileCollection fileList = HttpContext.Current.Request.Files; ///HttpFileCollection:提供对客户端上载文件的访问,并组织这些文件
///定义显示的消息
StringBuilder uploadMsg = new StringBuilder("上载的文件如下:" + "<br>");
///IDisk disk = new Disk();
try
{ ///上载文件列表中的每一个文件
for(int i = 0; i < fileList.Count; i++)
{ ///获取当前上载的文件
HttpPostedFile hPostedFile = fileList[i]; ///HttpPostedFile:提供对客户端已上载的单独文件的访问
string fileName;
///获取上载文件的文件名称
fileName = Path.GetFileName(hPostedFile.FileName); ///FileName:传回client端上传文件的名称,具有完整的路径。如c:\aa\aa.txt。|||Path.GetFileNam根据路径取得带扩展名的文件名
if(fileName != null)
{ ///上载文件
hPostedFile.SaveAs(MapPath("WebDisk/") + fileName); ///SaveAs() 将客户端上传的文件存在服务器的磁盘中 SaveAs(path)