這幾天在做圖片的上傳和顯示,上傳時保存圖片到文件夾中並將其存儲路徑保存到數據庫里,顯示時用數據綁定顯示
讓此圖片控件連接上圖片所在的路徑
之前在網上收集了相關資料,大多數人表示這個路徑應該是絕對路徑而不是相對路徑,所以一開是存儲路徑的保存是這樣的
但是運行結果是。。。。
這里的頭像是無法顯示的
后來在學長的幫助下,將存儲路徑修改為
這是一個相對路徑,VS讀取數據中從這個“異次元空間”文件夾里開始尋找(也就是從根目錄里開始),下屬文件夾里images尋找20161124213555917.jpg是成功的,如果像一開始那樣的路徑是尋找不到的,所以顯示為空白
下面是正常運行的結果:
成功!
下面是上傳圖片的相關代碼
1 if (upload1.HasFile)//判斷控件是否有文件路徑 2 { 3 string filename = upload1.FileName;//取得文件名 4 filename = filename.Substring(filename.LastIndexOf(".") + 1);//取得后綴 5 if (filename.ToLower() == "jpg" || filename.ToLower() == "gif")//判斷類型 6 { 7 string img = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + filename; 8 upload1.SaveAs(Server.MapPath("images/") + img); 9 string picture = ("images/") + img; 10 //傳到根目錄的images文件夾+重命名的文件名,也可以用原來的圖片的名稱,自己定。上傳成功; 11 string sql = "insert into tabUsers values('" + ID + "','" + name + "','" + hspwd + "','" + sex + "','" + year+ "','"+mail+"','" + question1 + "','" + hsanswer + "','" + picture + "')"; 12 int result2 = Class.Put(sql); 13 if (result2 == 1) 14 Binddata(); 15 else if (result2 != 1) 16 { 17 Response.Write("<script>alert('注冊失敗!');</script>"); 18 return; 19 } 20 } 21 else 22 { 23 Response.Write("<script>alert('圖片格式只支持jpg和gif');</script>"); 24 return;//提示錯誤 25 } 26 } 27 else 28 { 29 Response.Write("<script>alert('請選相片!');</script>"); 30 return;//提示錯誤 31 }
注意里面的“
string picture = ("images/") + img;
” ,保存路徑