如何获取存储在资源文件.resx中的图像文件名

时间:2016-10-24 19:52:10

标签: c# asp.net .net api resources

我需要一种存储图像的方法,所以我发现最好的方法是创建一个资源文件并将其存储在其中,但是我选择{编译时链接}选项,以便创建项目中的资源文件夹, 但是当我呼叫图像时,它返回位图图像文件而不是图像 URL 文件名图像路径我需要这种方式,因为我正在开发一个Web API,所以我不想发送图像,但我想要发送它的URL /路径,所以有没有办法从资源获取图像URL /路径文件,因为它已经存在 这是一个图像说明它在资源文件中的位置: enter image description here

2 个答案:

答案 0 :(得分:2)

编译后的代码嵌入了资源(您的案例中的图像)本身。资源的文件路径在编译时进行评估,但编译代码中包含

除非您使用资源名称=图像文件名之类的约定,否则无法获取其路径。

资源的目的是让您独立于文件。

您可能应该将图片名称或图片网址包含为字符串资源,而不是图片本身。

使用“添加新字符串”而不是“添加现有文件...”。

另见SO问题:ASP.NET Get physical filepath from URL

答案 1 :(得分:1)

如果确实想要将图像存储在程序集文件中并在Web响应中返回该图像URL,则可以应用一些名称编码方案并返回一些基于资源名称的字符串,例如 http://www.mysite/stored-images/{resource-name} ,其中resource-name可以是 _6aa_Left

此外,您应该实现路由处理程序,路径 / stored-image / * 将在需要图像时从适当的资源写入响应流您的实际图像字节。