2015-05-11 1 views
0

Я загрузки файла в ГКС (входной файл с веб-формы) с помощью следующей GAE/код питона: -GAE/python: как разобрать файл с несколькими данными из облачного хранилища (GCS)?

fx = self.request.body_file 
gcs_file = gcs.open(_GCS_BUCKET_NAME + "new_file_name", 'w') 
gcs_file.write(fx.read()) 

Я могу получить это закачано данные ГКС с помощью следующего кода

gcs_file = gcs.open(_GCS_BUCKET_NAME + "new_file_name", 'r') 
self.response.write(gcs_file.read()) 

С загруженные данные - это многоформатные данные, как извлечь исходное имя файла и исходный файл (двоичные данные) из gcs_file.read()?

+0

Google разработал другой путь для загрузки файлов в GCS с использованием GAE, чем тот, который вы используете в настоящее время. Прочтите это: https://cloud.google.com/appengine/docs/python/blobstore/#Python_Using_the_Blobstore_API_with_Google_Cloud_Storage – user2771609

+0

Я понимаю этот путь. Однако, есть ли в python встроенная программа для разделения многочастных данных в моей ситуации? – Nick

+0

Я вообще не использовал его, но попробуйте библиотеку python CGI (https://docs.python.org/2/library/cgi.html). Однако, как можно отбросить, не могли бы вы объяснить, почему вы не используете стандартный метод загрузки для GAE? Я столкнулся с почти непоколебимой решимостью многих людей не загружать, используя разработанный механизм, но я никогда не могу понять, почему ... – user2771609

ответ

0

Вы можете сохранить файл в ГКС с исходным именем файла

или

Вы можете создать небольшую DataStore БД, где с объектом, имеющим данные исходного имени файла и ссылку на файл в GCS

Почему оригинальная бинарная версия должна отличаться?

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

+0

Мое главное препятствие - как разделить многостраничные данные в файл (с исходным именем файла, которое уже содержится в многочастных данных). Я согласен и понимаю, что вы говорите, но моей проблемы нет. – Nick

Смежные вопросы