Google visualization 如何使用HTTP GET从Google图表API获取图像并存储在服务器上?

Google visualization 如何使用HTTP GET从Google图表API获取图像并存储在服务器上?,google-visualization,Google Visualization,有谁能告诉我,他们是否知道如何使用GoogleChartAPI将返回的图像存储在文件系统中,而不是包含在网页中 我的情况是,我希望Java servlet或侦听器在ApacheTomcat服务器上定期运行,向Google图表API发出HTTP GET/POST请求,并将生成的图像存储在文件系统或应用程序数据库中。稍后,图像将被放置在HTML页面中 大概我在看这样的东西: String result = null; URL url = new URL(urlStr); URLConnection

有谁能告诉我,他们是否知道如何使用GoogleChartAPI将返回的图像存储在文件系统中,而不是包含在网页中

我的情况是,我希望Java servlet或侦听器在ApacheTomcat服务器上定期运行,向Google图表API发出HTTP GET/POST请求,并将生成的图像存储在文件系统或应用程序数据库中。稍后,图像将被放置在HTML页面中

大概我在看这样的东西:

String result = null;
URL url = new URL(urlStr);
URLConnection conn = url.openConnection ();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = rd.readLine()) != null)
{
    sb.append(line);
}
rd.close();
result = sb.toString();
其中结果是可以写入文件或数据库的图像?但其中一些产出可能不得不被剥离

欢迎任何建议


摩根先生。

编写一个程序,打开与谷歌图表API URL的HTTP连接,例如

读取响应流并将其写入FileOutputStream

如果您需要比此更具体的帮助,请写评论或用更具体的问题更新问题:-)

编辑:


因为它是二进制数据而不是文本数据,所以不要使用读取器,而是直接使用InputStream。将字节读入临时缓冲区并写入FileOutputStream。

直接从服务器请求映像(例如使用cURL或类似方法),而不是插入
。获取映像后,将其存储在服务器上并链接到此本地版本


不过,请查看Chart API许可条款,看看是否允许您这样做。

谢谢。我稍后会试试这个。另一种方法是在加载页面时请求图像,这可能意味着频繁的重复请求。不管怎样,客户端都会请求图像,无论是到您的服务器还是直接到谷歌的。你也许可以假设谷歌比你更好地处理流量和缓存问题,而不必为此担心……也许吧。但我想消除重复请求的浪费。它工作得很好,我可以指定文件名,这很有帮助。谢谢你的帮助。