一個簡單的檔案上傳功能控制項

來源:互聯網
上載者:User
控制項|上傳 總在用別人的控制項,第一次想自己寫個控制項。於是寫了個簡單的小控制項,主要是用於自己學習和其他想嘗試寫控制項的朋友,請多多指教。
改控制項主要作用是將本地圖片上傳到自訂目錄。
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Web.UI.HtmlControls;
using System.IO;

namespace UpLoadImage
{
/// <summary>
///作者:DarkAngel 2004-10-27日建立
///支援圖片上傳到伺服器功能
/// </summary>
[DefaultProperty("Text"),
ToolboxData(@"<{0}:UpImage runat=server></{0}:UpImage>")]
public class UpImage : Control, INamingContainer
{
protected int filelength;
protected string imageUrl;
protected string mydirectory;
static string LogoURL;
protected string vpicture;
public Button mybutton;
public HtmlInputFile fileUpload;
public Label Label1;
public UpImage()
{
this.EnsureChildControls();

}
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
[
DescriptionAttribute("檔案大小")
]
public int FileLength
{
set{filelength=value;}
get{return filelength;}
}

[
DescriptionAttribute("圖片名字")
]
public string ImageUrl
{
set{imageUrl=value;}
get{return imageUrl;}
}

[
DescriptionAttribute("檔案路徑")
]
public string MyDirectory
{
get{return mydirectory;}
set{mydirectory=value;}
}

[
DescriptionAttribute("圖片的相對位址")
]
public string Logo
{

get{return LogoURL;}
set{LogoURL=value;}
}

[
DescriptionAttribute("是否顯示圖片")
]
public string vPicture
{
set{vpicture=value;}
get{return vpicture;}
}

private void mybutton_Click(object sender, System.EventArgs e)
{

if(!fileUpload.Value.ToString().Equals(""))
{
LogoURL=fileUpload.PostedFile.FileName.ToString();

LogoURL=LogoURL.Substring(LogoURL.LastIndexOf("."),(LogoURL.Length-LogoURL.LastIndexOf(".")));
if(fileUpload.PostedFile.ContentLength>filelength)
{
myScript("圖片超過指定大小!");

}
else
{
if(LogoURL.Equals(".jpg") || LogoURL.Equals(".bmp") || LogoURL.Equals(".gif"))
{

LogoURL=mydirectory+"\\"+imageUrl+LogoURL;
mydirectory=Page.Server.MapPath(" ")+"\\"+mydirectory;


if(Directory.Exists(mydirectory))
{
}
else
{
Directory.CreateDirectory(mydirectory);
}
fileUpload.PostedFile.SaveAs(Page.Server.MapPath(" ")+"\\"+LogoURL);




if(vpicture.Equals("1"))
{
Label1.Text="<img width='100' heigth='100' src='"+LogoURL+"'>";
}

myScript("圖片上傳成功!");

}
else
{
myScript("檔案類型不對!");

}

}
}

}
protected void myScript(string java)
{
Page.RegisterStartupScript("fsf","<script language=javascript>alert('"+java+"');</script>");

}

protected override void CreateChildControls()
{
mybutton=new Button();
fileUpload=new HtmlInputFile();
Label1=new Label();
mybutton.Text="提交";

this.Controls.Add(fileUpload);
this.Controls.Add(mybutton);
this.Controls.Add(new LiteralControl("<p>"));
this.Controls.Add(Label1);
this.Controls.Add(new LiteralControl("</p>"));
mybutton.Click+=new EventHandler(mybutton_Click);

}
}
}



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。