我刚开始使用瓶子框架,并尝试从某个Google街景网址返回图片。
from bottle import run, route, redirect, request, HTTPResponse
import requests
@route('/getimage')
def getimage():
string = 'https://maps.googleapis.com/maps/api/streetview?size=400x400&location=Cleveland, Ohio'
req = requests.get(string, stream=True)
text = req.text
resp = HTTPResponse(body=text,status=400)
resp.set_header('content_type', 'image/jpeg')
return resp
run(host='localhost', port=8080, debug=True)
我不明白为什么这不起作用 - 我正在尝试创建一个HTTPResponse,其主体是给定URL上图像的文本编码;然后我将内容类型设置为jpeg,以便它将作为jpeg返回,但我得到的是一条消息,说明图像因为有错误而无法显示。我在Firefox和Chrome上都尝试过它,但它无法正常工作。
非常感谢任何帮助!
答案 0 :(得分:0)
刚试过这个..
似乎链接有问题,直接导航到时没有找到图像:
https://maps.googleapis.com/maps/api/streetview?size=400x400&location=43.20192,-83.959129
答案 1 :(得分:0)
您需要r.content
,而不是r.text
。
对于非文本请求,您还可以以字节形式访问响应正文:
> r.content b'[{"repository":{"open_issues":0,"url":"https://github.com/...
例如,从a返回的二进制数据创建图像 请求,您可以使用以下代码:
from PIL import Image from StringIO import StringIO i = Image.open(StringIO(r.content))