-1

我正在尝试构建一个可以上传 JSON 文件的烧瓶应用程序。我遵循了官方的烧瓶教程;这是我的代码:

import os
from flask import Flask, flash, request, render_template, url_for
from flask_restful import Resource, Api
from flask_uploads import UploadSet, configure_uploads, DATA

app = Flask(__name__)

app.config['UPLOADED_FILES_DEST'] = os.getcwd()

file = UploadSet('SecretKey', DATA)

configure_uploads(app, file)

@app.route('/')
def my_form():
    return render_template('upload.html')

@app.route('/checkUpload', methods=['POST'])
def my_form_post():
    if request.method == 'POST' and 'file' in request.files:
    keyFile = file.save( request.files['keyfile'] )
# ...

我的目录结构如下所示:文件夹->

应用程序.py

模板 - > uploads.html

当我运行应用程序时,我收到此错误:

RuntimeError: no destination for set SecretKey

我知道我需要为正在上传的文件设置一个目的地,但我不知道如何正确地做到这一点;我不明白为什么我当前设置目标目录的方式是错误的。理想情况下,我不想将此文件存储在任何地方,我只想获取此文件,从中检查一些凭据,然后在凭据有效时启动会话。任何帮助深表感谢。提前感谢您的时间。

PS:请忽略代码的间距,我还研究了与这些相关的其他一些 SO 问题:

1)烧瓶上传问题

2)烧瓶上传问题

但他们没有和我完全一样的问题,所以我正在创建一个新线程。

4

1 回答 1

0

您没有将目标设置为UploadSetflask_uploads不知道在哪里存储文件。只需设置目的地:

file = UploadSet('SecretKey', DATA, default_dest=lambda x: 'SecretKey')

希望这可以帮助。

于 2018-12-10T11:10:26.913 回答