Как правильно настроить загрузку в колбу для загрузки файлов - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь создать приложение для колб, в которое я могу загрузить файл 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'] )
# ...

Моя структура каталогов выглядит следующим образом: папка ->

app.py

шаблоны -> uploads.html

Когда я запускаю приложение, я получаю эту ошибку:

RuntimeError: no destination for set SecretKey

Я понимаю, что мне нужно указать место назначения для загружаемого файла, но я не могу понять, как это правильно сделать;Я не могу понять, почему способ, которым я в настоящее время устанавливаю каталог назначения, неправильный.В идеале я не хочу хранить этот файл где-либо, я просто хочу взять этот файл, проверить некоторые учетные данные из него и затем начать сеанс, если учетные данные действительны.Буду признателен за любую оказанную помощь.Спасибо за ваше время заранее.

PS: Пожалуйста, не обращайте внимания на пробелы в коде, и я также рассмотрел некоторые другие вопросы SO, связанные с ними:

1) Проблема с загрузкой в ​​Flask

2) Проблема с загрузкой в ​​Flask

, но у них не было такой же проблемы, как у меня, поэтому я создаю новуюнить.

1 Ответ

0 голосов
/ 10 декабря 2018

Вы не установили пункт назначения на UploadSet.flask_uploads не знает, где хранить файлы.Просто установите пункт назначения:

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

Надеюсь, это поможет.

...