后,我使用此代码上传到服务器的图像:无法访问图片上传
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