flask中文件上传保存的路径,在view函数中获取上传的数据
1、在init.py文件中定义文件上传保存的路径
app.config["UP_DIR"] = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'static/uploads/')
2、获取上传的路径
file_url = secure_filename(form.url.data.filename) #获取上传的URL文件名称
logo_url = secure_filename(form.logo.data.filename) #获取封面的文件名称
if not os.path.exists(app.config['UP_DIR']):#如果static/uploads不存在
os.makedirs(app.config['UP_DIR']) #创建该上传目录
os.chmod(app.config['UP_DIR'], 'rw') #添加读写权限
url = change_filename(file_url) #改变文件名称
logo = change_filename(logo_url)
form.url.data.save(app.config['UP_DIR'] + url) #把新命名的文件保存在目录下
form.logo.data.save(app.config['UP_DIR'] + logo)
movie = Movie(
url=url,
logo=logo,
)
db.session.add(movie) #添加到数据库中
db.session.commit()
# 修改文件名称
from werkzeug.utils import secure_filename #确保上传的文件名称是安全的
def change_filename(filename):
fileinfo = os.path.splitext(filename) #把文件名分割成前缀和格式后缀
filename = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + str(uuid.uuid4().hex) + fileinfo[-1]
return filename

浙公网安备 33010602011771号