Flask - 上传的图像未显示 - 返回404
抱歉问了个小白问题,我也找这个答案找了很久。其实我看过文档,地址是 http://flask.pocoo.org/docs/patterns/fileuploads/,而且我也按照上面的步骤做了。
我成功上传了图片,现在这张图片在下面这个文件夹里:
/myfirstflask
/myapp
/static
/templates
routes.py
...
/uploads
myimage.jpg
很好,现在我想通过在我的路由中实现这个功能来获取这张图片:
@app.route('/media/<path:filename>')
def media(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
顺便说一下,app.config['UPLOAD_FOLDER'] 是 'uploads/'
。在我渲染的一个 HTML 模板中,我有这个:
<img src="{{url_for('media', filename = 'myimage.jpg')}}"/>
但是图片返回了404找不到的错误,我到底哪里出错了呢?
我尝试了一下,把整个 'uploads' 文件夹复制到 'myapp' 文件夹里,这样就能正常工作了!但是当我把 'myapp' 文件夹外面的 'uploads' 文件夹删掉后,就又出现了404错误。看起来好像需要这个上传的文件夹存在……这感觉有点奇怪,不太对劲。
1 个回答
1
“uploads/”文件夹应该放在你Flask应用的根目录下,也就是在你的情况下是“/myapp”这个文件夹里。