python – 使用Flask上传文件夹文件

python – 使用Flask上传文件夹文件,第1张

概述我可以通过这个例子上传一个带烧瓶的文件: Uploading Files 但我不知道如何上传文件夹或一些文件.我搜索过,我发现了这个: Uploading multiple files with Flask.最后,我得到了如何上传多文件上传. 我会告诉你下面的代码:(这是一个好习惯吗?我不知道) @app.route('/upload/',methods = ['GET','POST'])def 我可以通过这个例子上传一个带烧瓶的文件:

Uploading Files

但我不知道如何上传文件夹或一些文件.我搜索过,我发现了这个:
Uploading multiple files with Flask.最后,我得到了如何上传多文件上传.
我会告诉你下面的代码:(这是一个好习惯吗?我不知道)

@app.route('/upload/',methods = ['GET','POST'])def upload_file():    if request.method =='POST':        files = request.files.getList('file[]',None)        if files:            for file in files:                filename = secure_filename(file.filename)                file.save(os.path.join(app.config['UPLOAD_FolDER'],filename))            return hello()    return render_template('file_upload.HTML')

但是,我仍然不知道如何上传属于该文件夹的文件夹和文件.
你能告诉我怎么样?

我正在处理的目录树:

.├── manage.py├── templates│ ├── file_upload.HTML│ └── hello.HTML└── uploads    ├── BX6dKK7cuaAakzh.jpg    └── sample.txt

上传文件的源代码:

from flask import Flask,abort,render_template,request,redirect,url_forfrom werkzeug import secure_filenameimport osapp = Flask(__name__)UPLOAD_FolDER = './uploads'app.config['UPLOAD_FolDER'] = UPLOAD_FolDER @app.route('/')def index():    return redirect(url_for('hello'))@app.route('/hello/')@app.route('/hello/<name>')def hello(name = None):    return render_template('hello.HTML',name=name)@app.route('/upload/','POST'])def upload_file():    if request.method =='POST':        file = request.files['file']        if file:            filename = secure_filename(file.filename)            file.save(os.path.join(app.config['UPLOAD_FolDER'],filename))            return hello()    return render_template('file_upload.HTML')if __name__ == '__main__':    app.run(deBUG = True)

文件上传模板(manage.py):

<!DOCTYPE HTML><Title>Upload new file</Title><h1>Upload new file</h1><form action='' method="POST" enctype="multipart/form-data">    <p><input type='file' name='file[]' multiple=''>    <input type='submit' value='upload'>    </p></form>
解决方法 这里的问题是,烧瓶的app.config与自身无关,这是绝对的.所以当你把:
UPLOAD_FolDER = './uploads'

flask找不到此目录并返回500错误.
如果你把它改为:

UPLOAD_FolDER = '/tmp'

然后上传您的文件并导航到您将看到的/ tmp /目录.

您需要编辑正确目录的路径,以便正确上载文件.

总结

以上是内存溢出为你收集整理的python – 使用Flask上传文件夹/文件全部内容,希望文章能够帮你解决python – 使用Flask上传文件夹/文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存