Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将图像添加到.resx文件中?_C#_Asp.net Mvc 3_Image_Resources - Fatal编程技术网

C# 如何将图像添加到.resx文件中?

C# 如何将图像添加到.resx文件中?,c#,asp.net-mvc-3,image,resources,C#,Asp.net Mvc 3,Image,Resources,当然,除了使用VisualStudio的AddResource按钮之外 我提交了一个表单,以及一个图像文件。在控制器操作中,我使用Path.GetFileName()获取HttpPostedFileBase对象及其文件名。如果我只是使用SaveAs()函数在我的应用程序中保存图像文件,我以后就无法访问它进行测试,因为它会导致“不允许加载本地资源”错误 因此,我想将图像添加到.resx文件中,稍后使用ResourceManager或其他方法检索它。我的问题是,如何将控制器操作中的映像添加到.res

当然,除了使用VisualStudio的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)" />


但是使用Google Chrome,我得到了这样一个信息:“不允许加载本地资源”。如何避免这种情况?

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

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

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


Content将相对虚拟路径转换为绝对虚拟路径,并且需要一个以~开头的Url。您当前正在传递图像文件和Url的绝对物理路径。内容将返回图像文件和Url,但未更改。您需要urun.ArtUrl中的相对虚拟路径(~/App\u Data/Images/Untitled.png)。这是您传递给Server.MapPath的值。

为什么要为此使用资源文件?资源文件用于运行应用程序所需的资源,而不是存储外部数据。是的,我也有这种感觉,但我遇到了“不允许加载本地资源”错误,我如何才能避免这种情况?谁在哪一行给出了错误?请显示一些代码。:-)如果您在浏览器中查看源代码,其中的src属性是什么?
现在
@Url.Content()
采用“~/App\u Data/Images/Untitled.png”,我在源代码中看到了
。但现在它给出了“加载资源失败:…403(禁止)”错误,正如我在Chrome的consoleOK中看到的,所以我们已经解决了您最初的问题。现在您遇到了权限问题。查看新创建的图像文件夹的权限。请尝试向“图像”文件夹中的所有人授予读取权限,然后重试。让我们