一个简单的上传类

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一直以来,很多项目都要求上传,每次都要写上传的代码,比较麻烦。便想写一个类来完成上传的任务,以便在开发中减轻负担。写的很简单,但确实实用^_^

using System;

using System.Web;

using System.IO;

using System.Text;

namespace upfile

{

///

/// upfile类完成文件的上传和删除功能

///

public class MyUpload

{

private System.Web.HttpPostedFile postedFile=null;

private string savePath="";

private string extension="";

private int fileLength=0;

//上传控件

public System.Web.HttpPostedFile PostedFile

{

get

{

return postedFile;

}

set

{

postedFile=value;

}

}

//存储路径

public string SavePath

{

get

{

if(savePath!="") return savePath;

return "C:\\";

}

set

{

savePath=value;

}

}

//文件大小

public int FileLength

{

get

{

if(fileLength!=0)

{

return fileLength;

}

return 1024;

}

set

{

fileLength=value*1024;

}

}

//文件格式

public string Extension

{

get

{

if(extension!="")

{

return extension;

}

return "";

}

set

{

extension=value;

}

}

public string PathToName(string path)

{

int pos=path.LastIndexOf("\\");

return path.Substring(pos+1);

}

//上传文件

public string Upload()

{

if(PostedFile!=null)

{

try

{

string fileName=PathToName(PostedFile.FileName);

if(!fileName.EndsWith(Extension))

{

return "你必须选择 "+Extension+" 这个格式的文件!";

}

if(PostedFile.ContentLength>FileLength)

{

return "文件太大!";

}

if(File.Exists((SavePath+"\"+fileName)))

{

return "文件名重复!";

}

else

{

PostedFile.SaveAs(SavePath+"\"+fileName);

return "上传文件成功!";

}

}

catch(System.Exception exc)

{

return exc.Message;

}

}

return "请选择文件上传!";

}

//显示文件名

public string upfilename()

{

string fileName=PathToName(PostedFile.FileName);

return fileName;

}

//显示详细路径

public string url()

{

string fileName=PathToName(PostedFile.FileName);

string urls=SavePath+"\"+fileName;

return urls;

}

//删除上传的文件

public string delete(string url)

{

try

{

File.Delete(url);

return "删除文件成功!";

}

catch(System.Exception exc)

{

return exc.Message;

}

}

}

}

使用方法:

1.在引用里添加upfile.dll的引用

2.using upfile;

3.private MyUpload myupfile;

4.myupfile=new MyUpload(); //实例化

myupfile.PostedFile=this.File1.PostedFile; //设置上传控件

myupfile.SavePath=Server.MapPath(""); //设置上传路径

5.上传按钮:

this.Label2.Text=myupfile.Upload(); //上传

if(this.Label2.Text=="上传文件成功!")

{

this.upfile.Text=myupfile.upfilename(); //显示文件名

this.url.Text=myupfile.url(); //显示文件路径

}

6.删除按钮:

this.Label2.Text=myupfile.delete(this.url.Text);

if(this.Label2.Text=="删除文件成功!")

{

this.upfile.Text=""; //显示文件名

this.url.Text=""; //显示文件路径

}

aspx:

(<form id="Form1" method="post" runat="server" enctype="multipart/form-data">

<INPUT id="File1" style="Z-INDEX: 102; LEFT: 304px; POSITION: absolute; TOP: 184px" type="file"

name="File1" runat="server">)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航