ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – Flask:如何获取动态生成的图像文件的URL?

2019-07-15 16:59:04  阅读:114  来源: 互联网

标签:python flask


from flask import Flask, redirect, url_for

app = Flask(__name__)
@app.route('/')
def index():
        generate_img("test.jpg");
        return '<img src=' + url_for(filename='test.jpg') + '>'

generate_img()将随机图像输出到当前目录(与此脚本相同的文件夹).

我得到404,我导航到mydomain.com/test.jpg但它不在那里.

解决方法:

假设实际生成了图像(也就是调用了index()),404的原因是没有指向图像的路径,所以Flask会告诉你没有mydomain.com/test.jpg .像Apache或Nginx这样的静态网络服务器默认会映射从根到URL的路径,但普通的Flask / Werkzeug / WSGI设置不会这样做.

也许你想创建一个直接返回图像的资源?

编辑:类似的东西应该能够提供图像.

@app.route("/imgs/<path:path>")
def images(path):
    generate_img(path)
    fullpath = "./imgs/" + path
    resp = flask.make_response(open(fullpath).read())
    resp.content_type = "image/jpeg"
    return resp

EDIT2:当然,generate_img可能会被重写,因此它永远不会写入磁盘,而是直接返回图像数据.

标签:python,flask
来源: https://codeday.me/bug/20190715/1469431.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有