我有一个位于物理位置“h:\ Data \ Dokument \ Visual Studio 2013 \ Projects \ stefanhall.se \ stefanhall.se \”的ASP.NET MVC项目。我有一种方法可以将文件上传到“h:\ Data \ Dokument \ Visual Studio 2013 \ Projects \ stefanhall.se \ stefanhall.se \ Content \ img \ uploadedfiles \”。 我可以在上面提到的文件夹中的Windows资源管理器中找到上传的文件,当我在本地运行项目时,我可以使用以下语法访问我视图中的上传图像:
BlogModel getPhoto = new BlogModel(WebConfigurationManager.ConnectionStrings["BlogDataModel"].ConnectionString);
string photoPath = "Content/img/uploadedfiles/" + getPhoto.GetPhotoPath(post.Id);
<div>
<img class="postedPhoto" src="@photoPath" />
</div>
其中@photoPath是文件名(例如20141228_092935.jpg) 当时我的问题与ASP.net Getting the error "Access to the path is denied." while trying to upload files to my Windows Server 2008 R2 Web server完全相同,所以我按照答案创建了App_Data,右键单击解决方案资源管理器中的项目并选择“添加 - 添加ASP.NET文件夹 - App_Data”。在该文件夹中,我创建了一个子文件夹,并将其命名为“uploadedfiles”。到现在为止还挺好。我可以使用以下语法上传文件:
string path = Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data/uploadedfiles"), Path.GetFileName(file.FileName));
file.SaveAs(path);
我打开了Windows资源管理器,可以将上传的文件放在“h:\ Data \ Dokument \ Visual Studio 2013 \ Projects \ stefanhall.se \ stefanhall.se \ App_Data \ uploadedfiles \”中,但是当我尝试访问该文件时我的观点与上面提到的语法相同(唯一的区别在于我改变的路径:
获取http://localhost:49395/App_Data/uploadedfiles/20141228_092935.jpg 404(未找到)
我做错了什么?