namespace Wmj { public class MyUpload { private
System.Web.HttpPostedFile postedFile=null; private string
savePath=""; private string extension=""; private int
fileLength=0; //显示该组件使用的参数信息 public string
Help { get{ string
helpstring; helpstring="<font size=3>MyUpload
myUpload=new MyUpload();
//构造函数"; helpstring+="myUpload.PostedFile=file1.PostedFile;//设置要上传的文件"; helpstring+="myUpload.SavePath=\"e:\\\";//设置要上传到服务器的路径,默认c:\\"; helpstring+="myUpload.FileLength=100;
//设置上传文件的最大长度,单位k,默认1k"; helpstring+="myUpload.Extension=\"doc\";设置上传文件的扩展名,默认txt"; helpstring+="label1.Text=myUpload.Upload();//开始上传,并显示上传结果</font>"; helpstring+="<font
size=3 color=red>Design By WengMingJun 2001-12-12 All Right
Reserved!</font>"; return helpstring;
} }
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
"txt"; } 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 "You must select "+Extension+"
file!"; if(PostedFile.ContentLength>FileLength)
return "File too
big!"; PostedFile.SaveAs(SavePath+fileName); return
"Upload File Successfully!"; } catch(System.Exception
exc) {return exc.Message;} } return "Please select a
file to upload!"; } } }
用csc /target:Library Wmj.cs 编译成dll供以后多次调用 调用举例 <%@page language="C#"
runat="server"%> <%@import
namespace="Wmj"%> <script language="C#"
runat="server"> void Upload(object sender,EventArgs
e) { MyUpload myUpload=new MyUpload(); //
label1.Text=myUpload.Help; myUpload.PostedFile=file1.PostedFile; myUpload.SavePath="e:\\"; myUpload.FileLength=100; label1.Text=myUpload.Upload(); } </script> <form
enctype="multipart/form-data" runat="server"> <input
type="file" id="file1" runat="server"/> <asp:Button
id="button1" Text="Upload" OnClick="Upload"
runat="server"/> <asp:Label id="label1"
runat="server"/> </form>
结论:asp.net的组件支持功能很强 我们如果充分利用可以很容易的编写出非常方便的组件可以大大的方便我们的工作
|