Проблема с flask_upload для обновления папки назначения - PullRequest
0 голосов
/ 01 мая 2020

Я создаю маленькое веб-приложение и использую flask_dropzone и flask_uploads для хранения файлов.

вот настройка для flask_uploads

в файле инициализации моего приложения:

# Uploads settings
application.config['UPLOADED_PHOTOS_DEST'] = os.getcwd() + '/static/assets/users_assets'
photos = UploadSet('photos', IMAGES)
configure_uploads(application, photos)
patch_request_class(application)

Я использую flask_login и хочу настроить пункт назначения на основе текущего идентификатора пользователя. Я не могу сделать следующее, так как ни один пользователь не вошел в систему при запуске приложения.

application.config['UPLOADED_PHOTOS_DEST'] = os.getcwd() + '/static/assets/users_assets/' + str(current_user.id)

Мой маршрут загрузки файлов:

@current_user_dashboard_view.route('/upload_post_photo', methods=['GET', 'POST'])
def upload_post_photo():
    if "file_urls" not in session:
        session['file_urls'] = []
    file_urls = session['file_urls']
    if request.method == 'POST':
        file_obj = request.files
        print('File object---------', file_obj)
        for f in file_obj:
            file = request.files.get(f)
            print('File--------------', file)
            filename = photos.save(
                file,
                name=file.filename
            )
            print('File name------------', filename)
            file_urls.append(photos.url(filename))
        session['file_urls'] = file_urls
        return 'file is uploading.......'
    return 'Pic is uploading...............'

Я использую Blueprint и пробовал current_app. но не работает. любое предложение ? Также я хочу сохранить URL файла в базе данных, чтобы показать изображения. есть ли безопасный способ сделать это, так как он возвращает точный URL ресурсов

...