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