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的组件支持功能很强 我们如果充分利用可以很容易的编写出非常方便的组件可以大大的方便我们的工作
|