Предположим, что приложение получило сообщение, которое has attachments (mail_message.attachments
). Теперь я хотел бы сохранить сообщение в хранилище данных. Я не хочу хранить приложение там, поэтому я хотел бы сохранить только ключи blobstore. Я знаю, что могу write files to blobstore. У меня есть вопросы:Как сохранить вложение электронной почты в GAE Blobstore?
- как извлечь файлы из почтового приложения;
- как сохранить исходные имена файлов;
- Как хранить клавиши blob в хранилище данных (с учетом того, что одно письмо может содержать несколько вложений, похоже,
BlobKeyProperty()
не работает в этом случае).
Обновление. Для (1) the following code может быть использован:
my_file = []
my_list = []
if hasattr(mail_message, 'attachments'):
file_name = ""
file_blob = ""
for filename, filecontents in mail_message.attachments:
file_name = filename
file_blob = filecontents.decode()
my_file.append(file_name)
my_list.append(str(store_file(self, file_name, file_blob)))
Спасибо, я использую NDB (см. Теги). –