在asp.Net中使用fileuplod控件實現上傳圖片的功能

 
 
 
不少地方都應用到圖片上傳功能,那麼究竟怎樣能夠實現呢?下面我來給你們進行講解
visual studio中自帶的一個控件fileupload,能夠實現此功能,我要給你們介紹的是它的用法。
 
首先要新建一個網頁(下面是我建立好的一個網頁)
在網頁中拖進fileupload控件,後面放一個上傳按鈕
 
 
這樣,當咱們點擊上傳按鈕時,圖片就會上傳到服務器上去
步驟:
1.      先要在根目錄下面新建一個文件夾,用來放置上傳的圖片
2.      順便拖進一個 lable 控件,以便看清上傳的圖片的詳細地址
3.      再放進一個 p_w_picpath 控件,這樣,就能夠實現預覽功能了(前三步都是準備工做,下面就開始進行主要的操做)
4 .雙擊上傳按鈕,進入 aspx Cs 界面,在按鈕下要寫代碼,下面是我寫的
protected void Button1_Click(object sender, EventArgs e)
    {
        string sqlstr = ConfigurationManager.ConnectionStrings["zhenji"].ConnectionString;
        SqlConnection conn = new SqlConnection(sqlstr);
        conn.Open();
 
        string strName = FileUpload1.PostedFile.FileName;// 使用fileupload控件獲取上傳文件的文件名
        if (strName != "")// 若是文件名存在
        {
            int i = strName.LastIndexOf(".");// 獲取。的索引順序號,在這裏。表明圖片名字與後綴的間隔
            string kzm = strName.Substring(i);// 獲取文件擴展名
            string newName = Guid.NewGuid().ToString();// 生成新的文件名,保證惟一性
 
            string xiangdui = @"~\p_w_picpaths\";// 設置文件相對網站根目錄的保存路徑 ,~號表示當前目錄,在此表示根目錄下的p_w_picpaths文件夾
            string juedui = Server.MapPath("~\\p_w_picpaths\\");// 設置文件保存的本地目錄絕對路徑,對於路徑中的字符「\」在字符串中必須以「\\」表示,由於「\」爲特殊字符。或者可使用上一行的給路徑前面加上@
            string newFileName = juedui + newName + kzm;
            FileUpload1.PostedFile.SaveAs(newFileName);// 將圖片存儲到服務器上
         
            Label1.Text =  newFileName;// 爲了能看清楚咱們提取出來的圖片地址,在這使用label
            Image1.Visible = true;// 最開始咱們把圖片的屬性設置爲不可見,是爲了美觀,在這要顯示,因此就設置爲可見
            Image1.ImageUrl = xiangdui + newName + kzm;// 當圖片屬性爲可見時,就要設置圖片的連接地址。在這裏,必定要寫圖片的相對路徑,由於要顯示的是已經傳在服務器上的圖片
        }
        conn.Close();
}
5 .結果
 
 
 
 
下面我再像你們介紹一些文件上傳代碼的方法說明:
strNameLastIndexOf(「。」) 獲取字符中最後一個。在字符串 strName中的索引順序號,好比字符串「asFatex」,調用該方法的結果爲:5
strNameSubstringi 獲取從索引i開始到結束的子字符串;好比字符串爲「asFatex」,調用該方法Substring4)獲得的字符串爲「。tex
GuidNewGuid()  Guid是用於生成惟一標識的類,而NewGuid()能夠生成一個36爲字符串。而且保證每次生成的字符串不重複。須要注意的是它生成的不是string類型
ServerMapPath(「~\\admin\\p_w_picpaths」) 獲取網站文件或文件夾在服務器中完整磁盤路徑。對於路徑中的字符「\」在字符串中必須以「\\」表示,由於「\」爲特殊字符,或者可使用server.MapPath(@」~\admin\p_w_picpaths」)
Directory.Exists(absolutePath)  判斷路徑是否存在,注意使用Directory類必須先引用System.IO命名空間
Directory.Creatory(absolutePath)在磁盤中建立路徑
 
到此結束
期待更精彩的請留言!
相關文章
相關標籤/搜索