ASP.NET圖片上傳,刪除

來源:互聯網
上載者:User

用到FileLoad控制項:

<asp:FileUpload ID="FileUpload1" runat="server" Width="217px" />//FileLoad控制項
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="上傳" />上傳按鈕

後台代碼:

protected void Button1_Click(object sender, EventArgs e)    {        try        {            if (FileUpload1.PostedFile.FileName == "")            {                alert("請選擇檔案!");            }            else            {                string filepath = FileUpload1.PostedFile.FileName;                //if (!IsAllowedExtension(FileUpload1))                 //{                 //    this.lb_info.Text = "上傳檔案格式不正確!";                 //}                 if (IsAllowedExtension(FileUpload1) == true)                {                    string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);                    filename = Session["StuID"].ToString()+".jpg";                    string serverpath = Server.MapPath("~/examer_images/") + filename;                    FileUpload1.PostedFile.SaveAs(serverpath);                    if (isProperSize(serverpath))                    {                        alert("映像上傳成功!");                    }                }                else                {                    alert("請上傳圖片!");                }            }        }        catch (Exception ex)        {            alert("上傳發生錯誤!原因:" + ex.ToString());        }    }

判斷檔案是否為影像檔:

private  bool IsAllowedExtension(FileUpload upfile)    {        string strOldFilePath = "";        string strExtension = "";        string[] arrExtension = { ".gif", ".jpg", ".bmp", ".png" };        if (upfile.PostedFile.FileName != string.Empty)        {            strOldFilePath = upfile.PostedFile.FileName;//獲得檔案的完整路徑名             strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));//獲得檔案的副檔名,如:.jpg             for (int i = 0; i < arrExtension.Length; i++)            {                if (strExtension.Equals(arrExtension[i]))                {                        return true;                }                            }                    }        return false;    }

判斷映像是否符合規格:

private bool isProperSize(string filename)     {                System.Drawing.Image image2 = System.Drawing.Image.FromFile(filename);        if ((image2.Width > 441) && (image2.Height > 358))        {            image2.Dispose();            Response.Write("<script language='javascript'>alert('寬度和高度大於520*520px!')</script>");            System.IO.File.Delete(filename);//刪除檔案            return false;        }        else        return true;    }

總結:

擷取所選擇的映像名稱:string filepath = FileUpload1.PostedFile.FileName;

擷取所要上傳的目錄名稱:string serverpath = Server.MapPath("~/examer_images/") + filename;//本程式檔案夾上一級目錄

Server擷取路徑規則如下:

1、Server.MapPath("/")
註:獲得應用程式根目錄所在的位置,如 C:\Inetpub\wwwroot\。
2、Server.MapPath("./")
註:獲得所在頁面的目前的目錄,等價於Server.MapPath("")。
3、Server.MapPath("../")
註:獲得所在頁面的上級目錄。
4、Server.MapPath("~/")
註:獲得當前應用級程式的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。

eg:

string filename=Server.MapPath("./") + @"\Web.config";   
string filename=Server.MapPath("./") + "/Web.config";   
string filename=Server.MapPath("") + @"\Web.config"  

System.IO.File.Delete(filename);//刪除檔案

 

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.