gpt4 book ai didi

python - 为什么flask找不到这个文件?

转载 作者:太空宇宙 更新时间:2023-11-04 10:36:43 25 4
gpt4 key购买 nike

我正在尝试使用此答案作为指南从 Flask 中的 get 请求返回一个 jpg 文件 How to return images in flask response?

我在我的根目录中运行这段代码(在 tornado 服务器之外):

@app.route('/pic/<string:address>', methods= ["GET"])
def here(address=None):
return send_file(url_for('static', filename='images/123_Octavia_St.jpg'), mimetype='image/jpg')

我的文件位于 rootdirectory/static/images/123_Octavia_St.jpg

我收到这个错误:

IOError: [Errno 2] No such file or directory: '/static/images/123_Octavia_St.jpg'

路径如下:

$ pwd
pathto/rootdirectory/static/images
$ ls
123_Octavia_St.jpg

最佳答案

不要使用url_for();那是为了生成 URL,而不是文件路径。

相反,使用 send_from_directory()以静态目录为根:

from flask import app, send_directory

@app.route('/pic/<string:address>', methods= ["GET"])
def here(address=None):
return send_from_directory(app.static_folder, 'images/123_Octavia_St.jpg', mimetype='image/jpg')

或者,对于静态文件,只需重用 Flask 本身用于提供静态文件的 View ,app.send_static_file() :

from flask import app

@app.route('/pic/<string:address>', methods= ["GET"])
def here(address=None):
return app.send_static_file('images/123_Octavia_St.jpg')

关于python - 为什么flask找不到这个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22916850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com