上一篇:给网站添加一个注册表 之 “类的设计” >>
一个简单的上传类
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">)
下一篇:计数器的另一用法:自动切换首页图片 >>
相关文章:
- · 蛙蛙学习asp.net总结(之一)
- · ASP.net初体验
- · 在ASP中利用ADO显示Excel文件内容的函数
- · ASP.NET 验证控件安全隐患
- · WindowsDNA与.net
- · 微软的常用资源列表
- · 蛙蛙推荐:asp中的多条件组合查询实现
- · 使用模板实现ASP代码与页面分离
- · 蛙蛙推荐:类中的静态成员和非静态成员(C#版)
- · 有关windows服务的创建,控制
- · 一个自定义的可以分页,排序,扩展显示grid控件
- · 转贴(电脑报):VBA开发实用指南
- · 蛙蛙推荐: 用web服务传递Dataset的一个简单例子
- · ASP中轻松实现变量名-值变换
- · J2EE还是.NET,这是一个问题
- · VML应用
- · Caching in ASP.NET
- · asp论坛在线人数统计研究
- · 为freetextbox1.6.5上传图片加上水印
- · 自定义配置节处理实现个性化web.config
- · 使用xmlhttp为网站增加股市行情查询功能
- · .Net Enterprise服务器可能太早冠上.Net名号了
- · 维护ASP的会话状态
- · 浅谈引用计数
- · 使你的窗体保留在桌面的最上面
- · 研究心得------->Seskin控件包中SeskinEdit汉字问题的解决办法
- · 建立三层结构的ASP应用程序
- · 研究心得------->CPU信息的获得,比较全面的
- · Sender 的??用:所有Edit共用一???^?V格式
- · override deal with window closing in database application
- · C++ 和 Delphi 的函数覆盖(Override)与重载(overload
- · 正确处理ASP动态网页中的容错机制
- · 几例在ASP存储过程的使用方法
- · 实现让每句话的头一个字母都大写
- · 如何尽快释放掉Connection对象建立的连接?
- · Connection对象的应用
- · 利用ASP打造网站论坛DIY
- · Asp中代码与页面的分离
