2012-11-19 97 views
0

我有一個FileLoad控制器這樣的:Asp.net上傳文件

 <asp:FileUpload ID="FileUpload1" runat="server" /> 

我喜歡做的就是將文件複製到/圖像/標識文件夾上傳服務器一旦用戶 上選擇GIF圖片:

 string uploadFolder = Server.MapPath("/images/logos/"); 

    string uploadfile = uploadFolder + "Image1" + ".gif"; 
    FileUpload1.SaveAs(uploadfile); 

當我看的uploadfile它以C開頭的值:....

我相信它應該像/images/logos/Image1.gif當它完成的,沒有我s在images/logos文件夾中。請注意,我不會收到任何錯誤。

我在做什麼錯。

+0

這是個奇怪的人。你有沒有在IIS中設置這個虛擬文件夾?可能你可以在'FileUpload1.SaveAs(uploadfile);'中放一個斷點並檢查上傳文件路徑是什麼? – Kaf

回答

1
Server.MapPath("/images/logos/") // Will map to the wwwroot folder 
Server.MapPath("~/images/logos/") // Will map to the application folder 
+0

謝謝傑克。是server.MapPath我應該用戶。如上所述,當我在本地測試它時,它會給出C:\\ .... –

+0

@WebDev:我會推薦使用它。這是獲取相對(「/ images」)或虛擬(「〜/ images」)文件夾的最簡單方法。請記住,「/ images/logos」將是您的IIS站點的一個文件夾,而「〜/ images/logos」將位於您的應用程序中。當您部署到生產環境時,如果wwwroot文件夾位於D:驅動器上,它將相應地映射它。 HTH –