我在受Windows身份验证保护的服务器上有一个图像文件,我必须访问该文件。 我使用 python 的requests_ntlm模块通过 Windows 身份验证访问文件,我能够这样做。但是,在将此数据作为图像发送回时,我收到错误。
我使用的示例代码如下:
def sendImage(imagename):
"""
Takes image name as a parameter and get the file from the XYZ server
after Windows Authentication and serve the image as a response
"""
username = USERNAME
password = PASSWORD
r = requests.get( BASE_URL + str(imagename), auth=HttpNtlmAuth(username, password))
return send_file(
io.BytesIO(r.content),
mimetype='image/jpg'
)
我得到的错误回溯如下:
Traceback (most recent call last):
File "/home/pyenv/local/lib/python2.7/site-packages/werkzeug/wsgi.py", line 704, in __next__
return self._next()
File "/home/pyenv/local/lib/python2.7/site-packages/werkzeug/wrappers.py", line 81, in _iter_encoded
for item in iterable:
TypeError: 'Response' object is not iterable
我已经检查了当我与 PIL 一起使用时,带有 bytesIO 的响应内容是否被打开,所以我收到的图像存在问题。
我无法找出此错误的原因。
response= 只需要字符串值,所以它变成:
return send_file(
r.text,
mimetype='image/jpg'
)