python - AttributeError:“响应”对象没有属性“类型”
问题描述
谁能帮我解决这个错误。我正在尝试从查询字符串图像 url 中保存图像。但遇到以下错误。我的代码如下,请忽略不必要的库
from flask_restful import Resource, Api
import requests
import uuid
from PIL import Image
import urllib.request as urllib
import io
app = Flask(__name__)
api = Api(app)
abc = uuid.uuid4().hex[:6].upper()
class Predict(Resource):
def get(self):
url = request.args['url']
r = requests.get(url)
fd = urllib.urlopen(r)
image_file = io.BytesIO(fd.read())
im = Image.open(image_file)
return im.save(abc+".png")
api.add_resource(Predict, '/')
if __name__ == "__main__":
app.run("", port=7999, debug=True)
输出错误:
解决方案
要保存在您不需要的文件中Image
-BytesIO()
您可以直接open()
使用write()
如果你想用不同的名字保存每张图片,那么你应该abc
在里面创建get()
from flask import Flask, request
from flask_restful import Resource, Api
import requests
import uuid
app = Flask(__name__)
api = Api(app)
#abc = uuid.uuid4().hex[:6].upper() # one name for all images
class Predict(Resource):
def get(self):
abc = uuid.uuid4().hex[:6].upper() # generate new name for new image
filename = abc + '.png'
#print(filename)
url = request.args['url']
r = requests.get(url)
f = open(filename, 'wb') # write in bytes-mode 'wb'
f.write(r.content)
f.close()
return {'status': 'OK', 'name': filename}
api.add_resource(Predict, '/')
if __name__ == "__main__":
app.run("", port=7999, debug=True)
只有当您想在保存之前编辑图像时,您才Image
需要。BytesIO
from flask import Flask, request
from flask_restful import Resource, Api
import requests
import uuid
from PIL import Image
import io
app = Flask(__name__)
api = Api(app)
#abc = uuid.uuid4().hex[:6].upper() # one name for all images
class Predict(Resource):
def get(self):
abc = uuid.uuid4().hex[:6].upper() # generate new name for new image
filename = abc + '.png'
#print(filename)
url = request.args['url']
r = requests.get(url)
fp = io.BytesIO(r.content)
img = Image.open(fp)
img = img.resize( (800, 600) ) # resize image
img.save(filename)
return {'status': 'OK', 'name': filename}
api.add_resource(Predict, '/')
if __name__ == "__main__":
app.run("", port=7999, debug=True)
推荐阅读
- reactjs - ReactJS 中的复选框
- c# - 如何更改列表中特定列的所有单元格?
- c++ - Boost.Test 的 vcpkg 端口无法链接
- python-3.x - 从 For 循环中创建一个 While 循环
- python - 单选按钮不会出现在我的默认 DjangoModelform 上。我找不到问题?
- django - Django CMS - Content only shown if on /?edit and logged in?
- javascript - 如何在更改下拉列表时获取 <tr> 中的值
我有一个动态网格,其中有一个 tr。tr 包含第一个 td,它是一个简单的序列号。其次是下拉菜单。第三个是一个简单的仅显示 td
td 包含下拉列表作为称为折扣的属性。
在选择下拉列表时,我想在最后一个 td 中显示折扣值
为此,我在下拉菜单上有一个 on change 功能
function showDiscount(id) {
- javascript - 如何使用 forwardRef() 进行循环依赖?
- javascript - 将计算属性作为道具传递(未定义)
- scrapy - 我的错误在哪里-异地请求-scrapy