後,我使用此代碼上傳到服務器的圖像:無法訪問圖片上傳
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Content/Uploaded"), fileName);
file.SaveAs(path);
一切順利,我可以看到,當我與FileZilla的檢查圖像上傳。可是後來,當我嘗試訪問這樣的形象:
@{ var path = "/Content/Uploaded/" + item.ImageName; }
<img src="@Url.Content(path)" width="200"/>
我得到
401 - Unauthorized: Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.
如何解決此得到什麼?如果我用FileZilla刪除文件並在它工作後手動添加相同的文件,我想它必須是「file.SaveAs(path)」對文件不起作用而不是文件夾放置一些權限。
上傳時,您似乎正在使用相對於應用程序根目錄「〜/ Content ...」的路徑,但嘗試讀取時,您正在使用相對於當前目錄「/ Content ...」的路徑。假設你在MVC中的Views文件夾中,這將不會讓你到同一個目錄。在視圖中輸出「路徑」的值,並確保它到達所需的路徑。 Url.Content()也可以使用「〜/ ...」接受相對於根的路徑,所以請嘗試使用它。 –
我也改變了,但似乎沒有任何問題的路徑。因爲當我檢查FileZilla時它保存到正確的文件夾中。當我刪除圖像並使用FileZilla手動將其添加到相同的文件夾中時,視圖中的鏈接將起作用。 – user1776562