【问题标题】:Img tag not showing image in windows azure cloud serviceImg 标签未在 Windows azure 云服务中显示图像
【发布时间】:2012-07-24 21:43:25
【问题描述】:

我在windowsAzure cloud service 上部署了我的 MVC-3 项目。然后当我通过

打开它时

staging url。这些图像未显示在我的应用程序中。我的图片src 是一个相对地址:

<img src="/images/1.jpg" alt="Lion" /> 

我也在使用 jquery-UI,但是像 ( button ) 这样的插件也不起作用。我使用了循环插件,分页插件这些也不起作用。有什么问题?

【问题讨论】:

  • 这个问题不是 Azure 特定的。这是一般的网络部署。除了 Jim Tollan 提到的您需要采取的行动之外,您还需要在项目中包含所有图像和其他内容并将它们标记为“内容”。否则,这些将不会部署到您正在部署的任何主机上。
  • 好的,但是在我的项目 layout.cshtml 中,我使用了 &lt;link href="@Url.Content("~/Content/jquery-ui-1.8.18.custom.css")" rel="stylesheet" type="text/css" /&gt; 用于 jquery-ui,这里我使用了 Url 助手,但它也没有在我的项目按钮上应用按钮插件。为什么?

标签: c# jquery asp.net-mvc-3 jquery-ui azure


【解决方案1】:

尽管您的路径“显示”相对,您仍需要使用 Url helper 正确导航文件夹结构。请尝试改用以下内容:

<img src='@Url.Content("~/images/1.jpg")' alt="Lion" /> 

所有远程托管都是变化无常的,Azure 也不例外。如果我省略了 @Url.Content() 助手,这个问题总是会引起我的注意。我确信这会奏效。

【讨论】:

  • king-kong - 这些 jquery 图像将相对于 css 文件和文件夹,因此将是沿 images/myimage.jpg 行的绝对相对路径。与 mvc 视图的不同之处在于它们由一个控制器调用,该控制器的路由可能与文件夹结构大不相同,因此使用 Url 帮助器
【解决方案2】:

问题可能是因为您的图像没有在 MVC 项目中导入。部署云服务时,仅部署项目中的资源。仅在您的文件系统中的资源不是。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题并做了以下操作:

    1. 我的 Images 文件夹在 \Content 目录之外,因此,我在此目录中创建了一个目录,所以现在我有了 \Content\images
    2. 我现在将我的图片移到了这个新目录中
    3. 在解决方案资源管理器中右键单击图像文件夹名称并单击选项“包含在项目中”,我还右键单击图像本身并选择相同的选项
    4. 已发布并成功!

    【讨论】:

      【解决方案4】:

      我有同样的问题。我远程桌面到我在 Azure 中的服务器,打开 IIS,转到我有图像的文件夹并尝试浏览它,我收到内部服务器错误,告诉我“由于页面的相关配置数据,无法访问请求的页面是无效的”。问题在于这个 staticContent 定义:

      <mimeMap fileExtension=".mp4" mimeType="video/mp4"/>
      

      所以我打开了 web.config,搜索了“mp4”并删除了我定义 mimeMap 的部分。

      之后我可以浏览图片,当我在本地机器上刷新页面时,所有图片都会显示出来。

      然后我从我的 Web.Release.config 文件中删除了 mimeMap 定义。我之所以创建它,是因为之前我在 azure 中将这个项目发布为一个网站,我无法使用该标签提供 mp4 视频,但在使用云服务时似乎没有必要。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-03-15
        • 2021-11-30
        • 2016-10-19
        • 2014-09-29
        • 1970-01-01
        • 2014-02-07
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多