Google app engine 如何使用java在google appengine中读取图像url

Google app engine 如何使用java在google appengine中读取图像url,google-app-engine,javax.imageio,Google App Engine,Javax.imageio,ImageIO不在GAE的白名单中。 如何在不使用ImageIO的情况下从url中读取图像(JPG、PNG)作为ImageBuffer?您可以从apache commons中读取url流并创建bytearray URL url = new URL(this.url); InputStream input = url.openStream(); byteArray = IOUtils.toByteArray(input) 注: toByteArray方法在内部缓冲输入,因此无需使用Buffere

ImageIO不在GAE的白名单中。
如何在不使用ImageIO的情况下从url中读取图像(JPG、PNG)作为ImageBuffer?

您可以从apache commons中读取url流并创建bytearray

URL url = new URL(this.url);
InputStream input = url.openStream();
byteArray = IOUtils.toByteArray(input)
注:
toByteArray
方法在内部缓冲输入,因此无需使用
BufferedInputStream

编辑:

BuffereImage在AppEngine上被列为不受支持;这意味着您不能在Google App Engine上使用该第三方库。

只需使用此Google App Engine内置的API即可

byte[] b = URLFetchServiceFactory.getURLFetchService().fetch( url ).getContent();

不需要第三方库

如果您需要读取图像内容,而不仅仅是它的字节流,库的工作做得很好,只需将通常的导入替换为:

import com.google.code.appengine.awt.image.BufferedImage
import com.google.code.appengine.imageio.ImageIO

该库在Maven上发布,网址为

@systempuntoout No,因为他们希望操作图像,而不仅仅是存储图像。我明白了,但是第三方API使用ImageBuffer作为参数。如何解决这个问题?哪个Java库有ImageBuffer?你是说
buffereImage
?是的!如何处理这样的问题?谢谢@约翰:对不起,你不能用那个第三方图书馆做很多事。也许它提供的东西也可以通过谷歌应用引擎图像库获得。谢谢!这是一个完美的解决方案。