Я пытаюсь создать приложение для колб, которое можно использовать для загрузки любого выбранного пользователем файла в мое хранилище Azure. По какой-то причине mime-тип загружаемого файла всегда установлен на «application / octet-stream». Если я напрямую загружаю файл в Azure, используя его интерфейс, то MIME-тип правильный. Чтобы решить эту проблему, я пытаюсь вручную вычислить mimetype файла и передать его как метаданные.
У меня проблема в том, что я не могу найти способ получить абсолютный путь к файлу выбранного пользователем файла для загрузки.
Я ищу абсолютный путь: путь / к / файлу / doctest2.txt
Вот как выглядит приложение для колб:
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
filename = secure_filename(file.filename)
fileextension = filename.rsplit('.',1)[1]
Randomfilename = id_generator()
filename = Randomfilename + '.' + fileextension
try:
blob_service.create_blob_from_stream(container, filename, file)
except Exception:
print 'Exception=' + Exception
pass
ref = 'http://'+ account + '.blob.core.windows.net/' + container + '/' + filename
похоже, что мы можем получить имя файла, используя f.filename
, но я не уверен, как получить полный путь здесь.
Полный код можно найти здесь:
https://github.com/codesagar/Azure-Blobs/blob/master/blob.py
Конечная цель - вычислить mimetype файла для загрузки.
У меня есть файл-блоб (переменная f). Есть ли лучший способ получить mime из BLOB-объекта, а не искать абсолютный путь к файлу?