Я пытаюсь загрузить файл в хранилище BLOB-объектов Azure. Мое приложение размещено на сервере Linux службы приложений Azure. Теперь, когда я запрашиваю загрузку файла с удаленного компьютера, я хочу, чтобы файл был загружен по указанному пути.
У меня есть три параметра запроса, которые принимают запрос GET в форме значения
- https://testApp.azurewebsites.net/blobs/fileUpload/
- containerName: test
- fileName: testFile.txt
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
, пожалуйста, помогите мне с этим