首先在根目錄下建一個"images"文件:
HTML:
<form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="上傳" onclick="Button1_Click" /> <br /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br /> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> <br /> <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label> <br /> <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label> </form>
后台cs:
protected void Button1_Click(object sender, EventArgs e) { string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件獲取上傳文件的文件名 if (strName != "")//如果文件名存在 { bool fileOK = false; int i = strName.LastIndexOf(".");//獲取。的索引順序號,在這里。代表圖片名字與后綴的間隔 string kzm = strName.Substring(i);//獲取文件擴展名的另一種方法 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); string newName = Guid.NewGuid().ToString();//生成新的文件名,保證唯一性 string xiangdui = @"~\images\";//設置文件相對網站根目錄的保存路徑 ,~號表示當前目錄,在此表示根目錄下的images文件夾 string juedui = Server.MapPath("~\\images\\");//設置文件保存的本地目錄絕對路徑,對於路徑中的字符“\”在字符串中必須以“\\”表示,因為“\”為特殊字符。或者可以使用上一行的給路徑前面加上@ string newFileName = juedui + newName + kzm; if (FileUpload1.HasFile)//驗證 FileUpload 控件確實包含文件 { String[] allowedExtensions = { ".gif", ".png", ".bmp", ".jpg",".txt" }; for (int j = 0; j < allowedExtensions.Length; j++) { if (kzm== allowedExtensions[j]) { fileOK = true; } } } if(fileOK) { try { // 判定該路徑是否存在 if (!Directory.Exists(juedui )) Directory.CreateDirectory(juedui ); Label1.Text = newFileName; //為了能看清楚我們提取出來的圖片地址,在這使用label Label2.Text = "<b>原文件路徑:</b>" + FileUpload1.PostedFile.FileName + "<br />" + "<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字節<br />" + "<b>文件類型:</b>" + FileUpload1.PostedFile.ContentType + "<br />"; Label3.Text = xiangdui + newName + kzm; Label4.Text = "文件上傳成功."; FileUpload1.PostedFile.SaveAs(newFileName);//將圖片存儲到服務器上 } catch (Exception) { Label4.Text = "文件上傳失敗."; } } else { Label4.Text = "只能夠上傳圖片文件."; } } }