【发布时间】:2012-07-08 07:53:47
【问题描述】:
当然不是使用 Visual Studio 的 AddResource 按钮。
我提交了一个表单和一个图像文件。在我的控制器操作中,我使用Path.GetFileName() 获取HttpPostedFileBase 对象及其文件名。如果我只是使用SaveAs() 函数将图像文件保存在我的应用程序中,我以后无法访问它进行测试,因为它会给我“不允许加载本地资源”错误。
所以我想将图像添加到 .resx 文件中,稍后使用ResourceManager 或其他方式检索它。我的问题是,如何将控制器操作中的图像添加到 .resx 文件中?
我还应该问一下,这是否是在我的应用程序中添加和检索图像文件的好方法。
编辑: 好的,使用 .resx 存储图像不是一个好主意。我最初的问题是我可以保存图像文件,但是当我尝试在我的视图中显示它时,它给出了“不允许加载本地资源”错误。
这是控制器代码:
public ActionResult UrunEkle(Urun urun, HttpPostedFileBase image)
{
Directory.CreateDirectory(Server.MapPath("~/App_Data/Images"));
var path = Path.Combine(Server.MapPath("~/App_Data/Images"), fileName);
image.SaveAs(path);
urun.ArtUrl = path;
// other stuff....
}
在我看来,我尝试像这样检索图像:
<img alt="@urun.name" src="@Url.Content(urun.ArtUrl)" />
但是使用谷歌浏览器,我得到这个 “不允许加载本地资源”。我怎样才能避免这种情况?
【问题讨论】:
-
为什么要为此使用资源文件?资源文件用于运行应用程序所需的资源,而不是存储外部数据。
-
是的,我也明白了,但是我得到了 “不允许加载本地资源” 错误,我该如何避免这种情况以用于休息?跨度>
-
谁给出了这个错误,在哪一行?请显示一些代码。 :-)
标签: c# asp.net-mvc-3 image resources