添付ファイル(AtacchedFile)オブジェクトのファイルをPythonから直接編集する方法
添付ファイル(AtacchedFile)オブジェクトのファイルを、Pythonから直接編集(read/write)する方法はありますか?
以前の記事では、AtacchedFileからFileオブジェクトを取り出して、pathフィールドでファイルのパスが取得できたようですが、現在はpathフィールドは廃止になっているようで、ほかの方法がないかを知りたいです。
-
正式なコメント
添付ファイルは DB 内に格納されるように方式が変更されたため、これに伴い(サーバのファイルシステム上のファイル保存場所を示す) path フィールドは廃止となりました。
ファイルオブジェクトの data フィールドに、ファイル本体のデータがバイナリ型の値として格納されておりますので、それをジョブフローで read/write することが可能です。
以下は、att という添付ファイルオブジェクトの attached1 フィールドにアップロードされたファイルの中身を読み込んで1行追加するサンプルとなります。
[
file_name = ./att['attached1']['name'],
file_content = ./att['attached1']['data'].decode() # バイト列を文字列にデコード
] ->
print('ファイル $file_name の中身:\n', file_content) ->
[file_content + '*** 追加された行 ***\n' >> ./att['attached1']['data']] -> # 文字列を書き込むと内部でバイト列に自動変換される
print('ファイル $file_name に行を追加しました')コメントアクション
サインインしてコメントを残してください。
コメント
1件のコメント