我需要将所有静态文件存储在项目文件夹之外。尽管我像下面更新了我的烧瓶配置,但仍然没有将图像保存在该文件夹中...
app = Flask(__name__, static_folder='../Storage/static', static_url_path='/storage')
但是当我尝试使用以下代码保存文件时,它总是将图像存储在project_folder-> static
内def save_image(image: FileStorage, folder: str = None, name: str = None) -> str:
return IMAGE_SET.save(image, folder, name)
需求示例:
当前
project_folder/
static/
images/
需要像这样存储
Storage(parallel folder)/
static/
images/
请帮助, 我尝试了以下链接,但没有帮助...
Flask not recognising static folder
How do i link to images not in Static folder in flask
Change static folder from config in Flask
Setting my <img> source to a file path outside of flask static folder
答案 0 :(得分:0)
下面是我的测试代码, 在运行代码之前,应先创建文件夹“ ../Storage/static/images”,或先使用os.makedirs()进行创建:
import sys,os
from flask import Flask
from werkzeug.datastructures import FileStorage
file = None
fp=open('110326-666286.jpg', 'rb')
file = FileStorage(fp)
app=Flask(__name__)
app.debug=True
def save_image(image: FileStorage, folder: str = None, name: str = None) -> str:
if not os.path.exists(folder):
os.makedirs(folder)
return image.save(folder+'/'+name)
@app.route('/hello/<name>/<surname>')
def hello(name,surname):
save_image(file,'../Storage/static/images','110326-666286_.jpg')
if os.path.exists('../Storage/static/images'+'/'+'110326-666286_.jpg'):
res='image saved'
else:
res='image not saved'
return '<h1>hello, %s %s</h1><p>%s</p>'%(name,surname,res)
if __name__=='__main__':
app.run(host='127.0.0.1',port=8080)
下面是结果