2014-01-24 230 views
0

我正在製作一個網站有圖像上傳模塊。在我的本地主機服務器中它的工作完美。這意味着我可以上傳圖片並保存。但是,當我主持我的解決方案時,我收到一個錯誤。即,訪問路徑被拒絕。文件上傳到服務器

這是我使用的代碼...

string fileName = FileUpload1.FileName.ToString(); 
string uploadFolderPath = "~/up_foto/"; 
string filePath = HttpContext.Current.Server.MapPath(uploadFolderPath); 
FileUpload1.SaveAs(filePath + "\\" + fileName);` 

什麼錯在這個..請幫我.... 在此先感謝....

+0

1)使用'Path.Combine('代替將字符串一起,2)不'〜/ up_foto /'存在上失敗的目標服務器? –

+0

還檢查'〜/ up_foto /'文件夾是否具有讀/寫權限。 –

+0

如何檢查具有讀/寫權限的文件夾? – user3159647

回答

1

恐怕如果它在本地運行,那麼代碼沒有問題。相反,您必須確保在主機環境中用戶「IUSER」或「IIS_IUSER」等能否訪問(讀取/寫入)上傳文件夾。

0

既然你得到「訪問路徑被拒絕」,你檢查你要上傳的文件夾的寫權限

+0

如何檢查具有此類權限的文件夾? – user3159647

+0

@ user3159647如果您有一個用於託管您的網站的控制面板,則會有一個您可以使用的文件夾權限部分。或者如果您有FTP帳戶並使用Filezilla上傳文件,則可以右鍵單擊要上傳的文件夾,並可以提供所需的權限。 –

0

可以使用Path.combine或使用Server.Mappath(不要忘記添加System.IO在命名空間)

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath1 = Server.MapPath(uploadFolderPath + fileName); 

 string fileName = FileUpload1.FileName.ToString(); 
     string uploadFolderPath = "~/Uploads/Images/"; 
     string filePath = Server.MapPath(uploadFolderPath); 
     string filePath1= Path.Combine(filepath1 + fileName);