Android 为什么谷歌图片服务在提供我的WEBP图片时会将它们转换成JPG?

Android 为什么谷歌图片服务在提供我的WEBP图片时会将它们转换成JPG?,android,google-app-engine,blobstore,webp,Android,Google App Engine,Blobstore,Webp,我有很多带有alpha的PNG图像,我已经使用XnConvert将它们转换为WEBP。在上传到BlobStore 在上传到blobstore之前,它是这样的: 在它看起来像这样之后: 它被服务url作为JPG服务,因此alpha通道被删除。在App Engine控制台中的BlobStore查看器中,它已将内容类型设置为application/octet stream,即使上载的文件具有.webp文件扩展名 根据网站,它应该支持WEBP。 上传图片时,我没有做任何花哨的事情: List<

我有很多带有alpha的PNG图像,我已经使用XnConvert将它们转换为WEBP。在上传到
BlobStore

在上传到blobstore之前,它是这样的:

在它看起来像这样之后:

它被服务url作为JPG服务,因此alpha通道被删除。在App Engine控制台中的BlobStore查看器中,它已将内容类型设置为application/octet stream,即使上载的文件具有.webp文件扩展名

根据网站,它应该支持WEBP。

上传图片时,我没有做任何花哨的事情:

List<BlobKey> blobs = blobstoreService.getUploads(req).get("file");
BlobKey blobKey = blobs.get(0);

ImagesService imagesService = ImagesServiceFactory.getImagesService();
ServingUrlOptions servingOptions = ServingUrlOptions.Builder.withBlobKey(blobKey);
String servingUrl = imagesService.getServingUrl(servingOptions);

希望通过谷歌图像API提供图像服务,因为图像可以动态调整大小。

有人能帮我指出解决这个问题的正确方向吗

EDIT2:


我尝试通过blobstore直接为blob提供如下服务:
blobstoreService.service(newblobkey(asseentity.BlobKey),res)而不是通过图像服务,然后它就可以正常工作了。但是,这不是一个选项,因为以这种方式为他们提供服务所需的实例小时数会增加。但至少这将问题缩小到图像服务。

您可以在url中附加选项
=-rw
。所以你会有类似的

http://lh3.ggpht.com/MvNZDvZcBaq_B2MuAj0-Y74sc24WAsOVIQiJzsowu1rVG-ACzGO80xxD9y5OI5dWSCa_Nt41aMmWSSYAbpFE8dW7BhxozH2ikcVLjw=s600-rw

您得到的是一个jpeg缩略图,因为这是使用webp时的默认值,因为该格式尚未完全受所有浏览器支持。

您使用什么浏览器来测试它?@peter我已编辑了我的问题以添加更多信息。希望有人能帮助我:)谢谢!这是我错过的地方吗?你的-rw工作了,但我发现了一个奇怪的行为。仅当s参数高于256时,此选项才有效。256及以下,再次提供jpg。除此之外,它工作得很好。有什么解决方案吗?这个参数还没有文档记录,我已经为您描述的案例提交了一个bug。
http://lh3.ggpht.com/MvNZDvZcBaq_B2MuAj0-Y74sc24WAsOVIQiJzsowu1rVG-ACzGO80xxD9y5OI5dWSCa_Nt41aMmWSSYAbpFE8dW7BhxozH2ikcVLjw=s600-rw