gpt4 book ai didi

python - Flask - uploadnotallowed 错误 - 重命名要保存的文件时

转载 作者:行者123 更新时间:2023-12-02 02:18:57 26 4
gpt4 key购买 nike

我正在尝试在flask中上传一个excel文件,并在保存时给它一个新名称,例如:oldname.xlsx to newname.xlsx

这是迄今为止我的代码:

from flask import Flask, render_template, send_file, request, redirect, url_for
from flask_uploads import UploadSet, configure_uploads, DOCUMENTS, IMAGES
from remove_characters import get_csv, edit_data, cleanup_data
import re
import os

app = Flask(__name__)

#the name 'datafiles' must match in app.config to DATAFILES
docs = UploadSet('datafiles', DOCUMENTS)
app.config['UPLOADED_DATAFILES_DEST'] = 'static/uploads'
configure_uploads(app, docs)
file_new_name = 'dataexcel'

@app.route("/upload", methods = ['GET', 'POST'])
def upload():
#user_file is the name value in input element
if request.method == 'POST' and 'user_file' in request.files:
filestorage = request.files['user_file']
path = "static/uploads/" + filestorage.filename
filename = docs.save(filestorage, name = file_new_name)


return redirect(url_for('results', path = path))


return render_template('upload.html')

因此,在 save 函数中,我将 file_new_name 传递给名称参数,因此它将使用该变量名称保存。我从 Flask 上传文档中获取了 name 参数,但收到“uploadnotallowed”错误

enter image description here

我想知道是否我没有遵循保存功能的正确格式,或者我的配置设置不正确。我是 Flask 新手,所以我仍在学习这个很酷的 Web 框架。提前致谢

最佳答案

好的,发现我的错误了。变量 file_new_name = 'dataexcel' 需要具有扩展名,在本例中为 .xlsx 扩展名。因此变量应该是 file_new_name = 'dataexcel.xlsx'

save 函数应如下所示 -> filename = docs.save(filestorage, None, file_new_name)None 是子文件夹,如果要传递子文件夹,只需将其更改为 static/upload/dist 即可。

关于python - Flask - uploadnotallowed 错误 - 重命名要保存的文件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39379287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com