Gridfs の Put コマンドを使用して、いくつかの添付ファイルを GridFS mongo に保存しました。
x12 = 'c:\test\' + str10 attachment.SaveAsFile(x12) with open(x12, 'rb') as content_file: content = content_file.read()
object_id = fs.put(strattach,filename=str10) strattach は次のように取得されます attachment = A1.Item(1) MAPI を使用して電子メールの添付ファイルを処理します strattach = str(attachment) 文字列に変換します。これを行っていない場合、Typeerror が発生します:
文字列またはファイルのようなオブジェクトのみを書き込むことができると言っています
A1 は添付ファイルのコレクションで、添付ファイルは取得したオブジェクトです。これで Put が成功し、ファイル名とともに Mongo db に格納されたオブジェクト ID object_id を取得しました。
ここで、Python 2.7 で object_id とファイル名を使用してバイナリ ファイルを再度ビルドする必要があります。
これを行うには、f2 = object_id.read() を使用して gridfs から読み取り、失敗している F2 に書き込みメソッドを適用しようとしました。私がマニュアルを読んだとき、Python 2.7で読むと文字列インスタンスが返されると書かれていました。
そのインスタンスをpython2.7でバイナリファイルとして保存する方法を教えてください。
別の提案も役に立ちます
ありがとう