爲本身的項目添加一個簡單的用戶頭像是否是顯得頗有趣啊javascript
運行效果前端
完成起來其實也很簡單java
先給服務器添加一個 pic 文件夾用來存放圖片數據庫
一.前端設計服務器
1.須要一個上傳文件的控件FileUploadthis
2.一個上傳按鈕Buttonspa
3.一個圖片按鈕ImageButton設計
4.一個容器Panel(包含2和3)code
先隱藏容器.直到圖片點擊事件被觸發才顯示。前端設計
二.後臺設計
1.上傳文件事件
須要限制格式以及大小
固然圖片的命名重複這裏沒有考慮(用時間加原名在必定程度上能夠解決)
protected void btnupload_Click(object sender, EventArgs e) { Boolean fileOk = false; //指定文件路徑,pic是項目下的一個文件夾;~表示當前網頁所在的文件夾 String path = Server.MapPath("~/pic/");//物理文件路徑 int length = this.FileUpload1.PostedFile.ContentLength;//獲取圖片大小,以字節爲單位 if (length > 6000) { Response.Write("<script language='javascript'>alert('您選擇的圖片過大!');</script>"); } else { //文件上傳控件中若是已經包含文件 if (FileUpload1.HasFile) { //獲得文件的後綴 String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); //容許文件的後綴 String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" }; //看包含的文件是不是被容許的文件的後綴 for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOk = true; } } } if (fileOk) { try { //文件另存在服務器的指定目錄下 string name = FileUpload1.FileName;//獲取上傳的文件名 path = "~/pic/" + name; DataCom.comdata("update **** set 路徑='" + path + "' where 用戶名='" +txtnae.Text + "'");//保存文件路徑數據到數據庫 Image1.ImageUrl = path; FileUpload1.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path)); Response.Write("<script>alert('文件上傳成功!');</script>"); } catch { Response.Write("<script>alert('文件上傳失敗!');</script>"); } } else { Response.Write("<script>alert('只能上傳gif,png,jpeg,jpg,bmp圖象文件!');</script>"); } } }
運行效果
三.把圖片的路徑和名稱保存到數據庫中
把圖片保存在服務器上
若是服務器上的圖片出現命名重複,可能會形成圖片丟失
四.最好把該頭像放在用戶控件當中。
能夠大大的減小代碼