Landscape トップページ | < 前の日 2005-08-28 2005-08-29 次の日 2005-08-30 >

Landscape - エンジニアのメモ 2005-08-29

MIME の External-Body で本文と添付ファイルを分離保存


* MIME の External-Body で本文と添付ファイルを分離保存

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [RFC] [メール]

RFC2046 には External-Body という形式がある。添付ファイルを別の場所に分離して保存する方法を規定したものだ。

- RFC2046の External-Body

とあるプログラムを作成中。このプログラムは、データを MIME 互換形式で保存する。データには添付ファイルのようなものも含まれる。個数は可変。MIME の multipart/mixed を使えば添付ファイルのデータをメインのデータに含めることができるが、それはしたくない。添付ファイルのデータは別のファイルに保存したい。

自分でそういったフォーマットを作っても良いけど、可能な限り標準に準拠した形式にしておきたい。確か、私のやりたいことに適合した MIME タイプがあったはず。探してみよう。

rfc2046(jp) Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types メディアタイプ
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2046j.ht ...

あった。RFC 2046 の 5.2.3. 外部ボディ(External-Body)サブタイプだ。これを使えばいいのか。

- RFC2046の External-Body のサンプル

RFC2046を読みながらサンプルを書いた。Content-Type が二回出てくるのが新鮮な感じ。

RFC2046にはオリジナルのファイル名を記述するフィールドを規定していないようだ。そこで、X-Original-File-Name というヘッダを付け、Base64 でエンコードしたオリジナルのファイル名を記述するようにした。

Content-Type の name は相対パスで記述。良くないかもしれないけど。あと、システムは Windows なのでディレクトリ区切り文字は \ を使った。これも微妙かも。

--------------050807090903030402050103
Content-Type: message/external-body;
              access-type=local-file;
              name="attachment\00080386.dat";
              size=80386

Content-Type: application/octet-stream
Content-ID: BAa2YGktNCKZnJlLHg0NKlpaU9ov
X-Original-File-Name: Base64_ENCODED_FILE_NAME


--------------050807090903030402050103

このようにして、attachment\00080386.dat に添付ファイルのデータを保存していることを表現できる。

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。