【问题标题】:How can I add images into my .resx file?如何将图像添加到我的 .resx 文件中?
【发布时间】: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


【解决方案1】:

忘记尝试将图像添加到 RESX 文件;它不是为在运行时修改而设计的。

请发布一些代码。最有可能的是您为稍后使用图像而提供的 URL 不正确。可能是因为您要返回服务器上文件的路径,而不是网站上下文中图像的 URL。

来自 Chrome 的错误消息告诉您它正在尝试从客户端上的本地文件系统加载资源。

Url.Content 将 相对虚拟 路径转换为 ​​绝对虚拟 路径,并且需要以 ~ 开头的 URL。您当前正在传递图像文件的绝对物理路径,并且 Url.Content 正在返回它,保持不变。您需要 urun.ArtUrl 中的相对虚拟路径 (~/App_Data/Images/Untitled.png)。这是您传递给 Server.MapPath 的值。

【讨论】:

  • 如果你在浏览器中查看源代码,其中的 src 属性是什么?
  • &lt;img alt="NEW ITEM" src="C:\Users\hALO\Desktop\RenkliTablo\RenkliTablo\App_Data\Images\Untitled.png"&gt;
  • 现在 @Url.Content() 采用 "~/App_Data/Images/Untitled.png",我在源代码中看到了 &lt;img alt="son lo" src="/App_Data/Images/Untitled.png"&gt;。但它现在给出了localhost:6679/App_Data/Images/Untitled.png"Failed to load resource:..403(Forbidden)" 错误,正如我从 Chrome 的控制台看到的那样
  • 好的,我们已经处理了您最初的问题。现在你有一个权限问题。查看新创建的图像文件夹的权限。尝试授予图像文件夹中所有人的读取权限,然后重试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-08
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2022-10-22
相关资源
最近更新 更多