Я борюсь с этой проблемой какое-то время, но не могу найти ее решения. Ситуация такова, что мне нужно открыть файл в браузере, и после того, как пользователь закрывает файл, файл удаляется с его машины. Все, что у меня есть, - это двоичные данные для этого файла. Если это важно, двоичные данные поступают из Google Storage с использованием метода download_as_string
.
Проведя небольшое исследование, я обнаружил, что модуль tempfile
подходит для моих нужд, но я не могу получить временный файл в открыть в браузере, потому что файл существует только в памяти, а не на диске. Есть предложения, как решить эту проблему?
Пока это мой код:
import tempfile
import webbrowser
# grabbing binary data earlier on
temp = tempfile.NamedTemporaryFile()
temp.name = "example.pdf"
temp.write(binary_data_obj)
temp.close()
webbrowser.open('file://' + os.path.realpath(temp.name))
При его запуске мой компьютер выдает ошибку, в которой говорится, что файл не может быть открыт, так как он пуст. Я использую Ma c и использую Chrome, если это уместно.