WP8 HTML5应用无法显示图像

时间:2014-03-16 07:36:03

标签: html5 web-services windows-phone-8

我有一个Web服务,在执行HTTP GET和指定资源时返回一个图像。例如,

  

HTTP:// WWW [MYDOMAIN]的.com / API / V1 /库/图像/ test.jpg放在

将检索test.jpg并将其流式传输到浏览器。调用的Web服务方法使用以下注释...

@GET
@Path("/repository/image/{filename}")
@Produces("image/jpg")

现在这适用于IE10和Chrome,但是在我的Windows Phone 8 HTML5应用程序中,图像无法呈现。我只是得到一个占位符,表明图像无法显示。任何人都可以解释为什么会发生这种情况吗?任何帮助将不胜感激,这让我疯狂。

更新:以下是网络服务代码和相关的html ...

@GET
@Path("/repository/image/{filename}")
@Produces("image/jpeg")
public Response getImage(@PathParam("filename")String filename) 
   try {
        String path = "/tmp/" + filename;
        File imagefile = new File(path);

        ResponseBuilder response = Response.ok((Object) imagefile);
        response.header("Content-Disposition",
             "attachment; filename=" + id);
        return response.build();
   }
   catch (Exception e) {
   }
} 

我通过简单地设置img标签的src属性来访问我的HTML中的服务,如下所示......

<img src='http://www.[mydomain].com/api/v1/repository/image/test.jpg'/>

2 个答案:

答案 0 :(得分:0)

我也遇到过类似的问题。它在IE10桌面上打开但不在手机上打开。事实证明,提供给我的图像格式并不合适。我使用预览(Mac应用程序)打开并以不同的名称再次保存图像,现在该图像工作正常。您可以使用任何图像编辑器应用程序,而不仅仅是预览来保存图像。

可以在此处看到Windows Phone支持的图像格式:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087(v=vs.105).aspx#BKMK_ImageSupport

答案 1 :(得分:0)

当然听起来像图像格式问题。

Web服务是否总是返回jpeg? 如果是这样,对于JPEG,我确保提供的图像保存为RGB颜色而不是CMYK颜色模式。

我在WP8上遇到过同样的问题,但仅限于某些PNG图像。提供的PNG图像在所有其他浏览器中都可以正常显示,但在WP8上显示为已损坏的图像。 原来提供的PNG图像没有展平(即它包含生成应用程序的分层信息等)。