目前,我有一个静态JS文件,它在特定的api请求中返回给用户。处理此问题的代码如下
@app.route('/js/<path:path>')
def send_js(path):
return send_from_directory('js', path)
但是,我想要做的是修改当前的JS文件(添加一些用户特定的修改),然后将其返回给用户。作为Java开发人员,我首先要读取文件,进行内存中修改并将这些字节写入响应对象。
但是,在尝试谷歌send_file
和send_from_directory
时,我找不到可以提供文件内容的方法吗?
我应该如何在烧瓶中实现这一点?
答案 0 :(得分:0)
你可以使用StringIO。
@app.route('/js/<path:path>')
def send_js(path):
path = secure_filename(path)
with open(os.path.join("js", path), "rb") as fd:
data = fd.read()
#do stuff with data
return send_file(StringIO(data), attachment_filename=path)
StringIO从字符串
创建类文件对象导入如下:
from werkzeug.utils import secure_filename
try:
from StringIO import StringIO
except ImportError:
from io import StringIO