【问题标题】:How to display image from JSON in MVC 3?如何在 MVC 3 中显示来自 JSON 的图像?
【发布时间】:2011-10-22 17:34:25
【问题描述】:

我需要显示数据库中的图像。我用 Json 发布了一个包含一些数据的表单。之后,我从数据库中获取结果。这几乎和脸书上的反应一样。您发表评论后,您的评论就会被格式化,并且您的个人资料图片会显示在旁边。

我设法取回了数据,但我不知道如何在屏幕上获取图像... 我应该尝试创建和网址吗?我试过了,但我不知道如何解析 javascript 文件中的 url。

抱歉,我是 Json 和 MVC 3 的新手。

谢谢

【问题讨论】:

  • 我试过了,但我需要用 JavaScript 中的图像渲染一些 html 标签(一些表格行和列)。现在我不知道如何在 JavaScript 中制作好的 url。 url 必须是相对的,因此您可以在任何您喜欢的页面中使用它...
  • 只需使用 Url.Action() 生成返回图像的操作的 url。

标签: asp.net-mvc json image model-view-controller asp.net-mvc-3


【解决方案1】:

这有点愚蠢......我忘了你可以只使用控制器然后操作。我做了 ImageController 而不是 Image 所以找不到动作。这就是为什么我认为这行不通。我现在在服务器上创建一个 url 属性并使用 Json 发送它。该属性在图像标签的 src 属性中呈现。

【讨论】:

    【解决方案2】:

    我不确定我是否理解。您真的希望在 JSON 数据请求中检索图像吗?我只需在您的网络服务器上返回图像的 URL,并通过 Javascript 将带有“src=URL-FROM-JSON”的“img”动态插入到您的网页中。 JQuery 库中有很多函数可以帮助解决这个问题。

    【讨论】:

    • 感谢您的回复。我了解如何在屏幕上恢复图片。问题是我不知道如何呈现一个好的 url。假设我有一个带有 action getimage 的 imagecontroller,其中 profileid 作为参数。现在我的 json 结果中的 id 在我的 JavaScript 文件中。如何呈现正确的网址??
    • 通常你会使用@url.Action 或类似的东西。但是现在你在一个 JavaScript 文件中,所以你不能使用它
    • 对于给定的 profileId,您必须在 Web 服务器上的某处具有绝对路径的关联文件,所以我不确定您所说的生成好的 URL 是什么意思?比如facebook好像把所有头像都放在了静态链接fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/profilePictureID
    【解决方案3】:

    JSON 对于发送/接收图像之类的二进制数据根本没有效率。我会使用 FileResult。此参考资料会对您有所帮助。

    Can an ASP.NET MVC controller return an Image?

    【讨论】:

    • 感谢您的回复。我了解如何在屏幕上恢复图片。问题是我不知道如何呈现一个好的 url。假设我有一个图像控制器,其动作 getimage 以 profileid 作为参数。现在我的 json 结果中的 id 在我的 JavaScript 文件中。如何呈现正确的网址??
    • 通常你会使用@url.Action 或类似的东西。但是现在你在一个 JavaScript 文件中所以你不能使用它
    • 我不确定我是否理解你。假设您的路线是 {controller}/{action}/{id} 并且 profileid 是 3。那么图像的 url 必须是,例如, "/Image/GetImage/3" 。所以一切都是固定的,除了 id 部分。为什么这是 javascript 中的问题?
    • 如果图像是动态创建的,而不是存储在硬盘或数据库中,应该如何从 JSON 结果呈现?
    【解决方案4】:

    HttpHandler 可以很好地在图像控件或 GridView 中显示图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 2013-05-31
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2011-01-18
      相关资源
      最近更新 更多