新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:一个简单的上传类

一个简单的上传类

新客网 XKER.COM 2004-08-11 来源: 收藏本文
一直以来,很多项目都要求上传,每次都要写上传的代码,比较麻烦。便想写一个类来完成上传的任务,以便在开发中减轻负担。写的很简单,但确实实用^_^




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">)

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐