невозможно загрузить файл в лазурном блобе - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь загрузить файл в хранилище BLOB-объектов Azure. Мое приложение размещено на сервере Linux службы приложений Azure. Теперь, когда я запрашиваю загрузку файла с удаленного компьютера, я хочу, чтобы файл был загружен по указанному пути.

У меня есть три параметра запроса, которые принимают запрос GET в форме значения

  1. https://testApp.azurewebsites.net/blobs/fileUpload/
  2. containerName: test
  3. fileName: testFile.txt
  4. filePath: C: \ Users \ testUser \ Documents

    @app.route("/blobs/fileUpload/")
    def fileUpload():
    
       container_name = request.form.get("containerName")
       print(container_name)
       local_file_name =request.form.get("fileName")
       print(local_file_name)
       local_path =request.form.get('filePath')
       ntpath.normpath(local_path)
       print(local_path)
       full_path_to_file=ntpath.join(local_path,local_file_name)
       print(full_path_to_file)
       # Upload the created file, use local_file_name for the blob name
       block_blob_service.create_blob_from_path(container_name, 
       local_file_name, full_path_to_file)
       return jsonify({'status': 'fileUploaded'})
    

local_path = request.form.get ('filePath') значение, которое я получаю из запроса: C: \ Users \ testUser \ Documents \ из-за чего я получаю эту ошибку

OSError: [Errno 22] Недопустимый аргумент: 'C: \ Users \ testUser \ Documents \ testFile.txt'

allЯ хочу, чтобы получить тот же путь, который я отправляю в запросе. Поскольку приложение размещено на компьютере с Linux, оно обрабатывает путь как файловую систему UNIX, если я использую OS.path

, пожалуйста, помогите мне с этим

1 Ответ

0 голосов
/ 02 октября 2019

Согласно сообщению об ошибке, локальный путь недопустим для C: \ Users \ testUser \ Documents \ testFile.txt. Это означает, что в вашей локальной системе нет такого пути к файлу.

Если вы хотите использовать метод create_blob_from_path, сначала загрузите файл в локальную систему, а затем используйте метод для загрузки в хранилище больших двоичных объектов. .

Или вы можете получить поток / текст файла с удаленного компьютера, а затем использовать метод create_blob_from_stream / create_blob_from_text соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...