ASP.NET FileUpload文件上傳路徑問題


在asp.net中經常會使用到上傳文件的功能,作為初學者就會用到fileupload這個控件。

情景:

我們上傳的文件一般都是要放到服務器的虛擬目錄中的,而不是程序運行的地方,先看下下面的代碼

    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string fileExt = System.IO.Path.GetExtension(FileUpload1.FileName);
            if (fileExt == ".jpg" || fileExt == ".gif")
            {
                try
                {
                    FileUpload1.SaveAs(Server.MapPath("/ScenicImg")+"\\" + FileUpload1.FileName);
                    Label1.Text = "客戶端路徑:" + FileUpload1.PostedFile.FileName + "<br>" +
                                  "文件名:" + System.IO.Path.GetFileName(FileUpload1.FileName) + "<br>" +
                                  "文件擴展名:" + System.IO.Path.GetExtension(FileUpload1.FileName) + "<br>" +
                                  "文件大小:" + FileUpload1.PostedFile.ContentLength + " KB<br>" +
                                  "文件MIME類型:" + FileUpload1.PostedFile.ContentType + "<br>" +
                                  "保存路徑:" + Server.MapPath("/ScenicImg") + "\\" + FileUpload1.FileName;
                }
                catch (Exception ex)
                {
                    Label1.Text = "發生錯誤:" + ex.Message.ToString();
                }
            }
            else
            {
                Label1.Text = "只允許上傳jpg、gif文件!";
            }
        }
        else
        {
            Label1.Text = "沒有選擇要上傳的文件!";
        }
    }

 

我們要注意這里的server.mappath中的"/",這個/代表的是程序的主目錄,這樣就能找到虛擬目錄了

如果不加這個/,路徑會映射到程序運行的地方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM