Ошибка при загрузке файлов из хранилища GCS (не доступ c, так как важные файлы не могут быть опубликованы c) - PullRequest
0 голосов
/ 11 марта 2020

Если я установил указанный путь c локально, чем при использовании сервера localhost (порт = 8080), он загрузит файл, но после развертывания приложения отобразит ошибку пути. Я понимаю, что после развертывания он будет загружен по другому пути в зависимости от удаленных машин. Однако какой должен быть путь, чтобы любой пользователь мог загрузить файл на свои локальные устройства в зависимости от своих прав. Файлы в формате pdf / txt et c. Мое ведро не опубликовано c. Должен ли я дать какие-либо разрешения или около того?

Использование python Flask приложения. Код -

def downloadfile():
  storage_client = storage.Client()
    bucket_name = 'ABC'
    blob_name = request.form.get("name")
    url = request.form.get("url")
    #ur=url.split('/')[:-1]
    #delimiter='/'
    file = 'a1'
    bucket=storage_client.get_bucket(bucket_name)
    blob=bucket.blob(blob_name)
    destination_uri = '{}/{}'.format(ur, blob_name)
    blob.download_to_filename(url)

    return render_template("upload.html")

1 Ответ

0 голосов
/ 11 марта 2020

Есть несколько способов, которые вы можете настроить и попробовать, настроить приложение на абсолютный путь, чтобы сохранить загруженные файлы локально.

Этот вопрос от сообщества - Библиотека хранилища Google Cloud для чтения из Cloudstorage и загрузки в локальную / предварительную версию? - я полагаю, это лучший пример того, как этого добиться (это не так на Python, но я полагаю, что вы можете использовать тот же лог c для него) и пример кода, чтобы установить абсолютный путь.

Кроме того, в приведенных ниже публикациях сообщества содержится некоторая дополнительная информация и примеры. о том, как подойти к этому.

Дайте мне знать, помогла ли вам эта информация!

...