掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ブラウザ経由でアップロード (msxml) (ID:83548)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
マルチパート(multipart)タイプとは、複数の添付データをまとめた メディアタイプとなっています。 InetSpyの結果からも、何となく予想できるかと思いますが、 各データパートの境界は、バウンダリ(境界:boundary)と呼ばれる 『任意の文字列』の行で示されています。 で、この『任意の文字列』は、Content-Type の boundaryパラメータで、 あらかじめヘッダに示されており、送信するデータの各パートは、 『--バウンダリ文字列』(とCRLF改行)で示される事になっています。 そして、データの最後は『--バウンダリ文字列--』で締め括られます。 (この仕組みは、メールヘッダであっても、HTTPリクエストヘッダでも同じです) さて、質問(1)について…。 > プログラムで作成しなければいけないのでしょうか、 バウンダリは「任意の文字列」ですので、固定でも動的生成でも構いません。 (任意といっても、「1〜70文字で、空白で終わってはならない」などの規則はありますが) ただし、boundaryパラメタで示された境界文字列と同じ文字列が、 送信データ(マルチパートオブジェクト内の本体部分)に、 含まれていてはならない、という仕様がある事には注意してください。 固定的な文字列を使っても構いませんが、いずれにしても、送信データ中に バウンダリ文字列が含まれていない事を確認する必要があります。 このあたりの仕様に関しては、後述の資料(RFC 2046)を参照してみてください。 質問(2)について…。 > msxmlの時は、ファイル名とファイル中身は > こちらで別々に作成しないといけないのでしょうか。 その必要があります。 なお、XMLHTTP.sendに渡す引数には、 ・内部形式がStringのVariant型 ・内部形式がByte配列のVariant型 ・IStreamインターフェイスを持ったオブジェクト などを指定できます。 > ドキュメントがなさすぎるので苦労してますm(__)m MSXMLの仕様に関しては、MSXML SDKに解説がありますので、 Microsoftから出されているSDKを参照してください。 また、実際に送信すべき内容に関しては、以下のRFCを参照してください。 <input type=file>による送信に関して: RFC 1867 [RFC1867] Form-based File Upload in HTML http://www.ietf.org/rfc/rfc1867.txt RFC1867の参考訳 http://www.studyinghttp.net/rfc_ja/rfc1867_ja.html メッセージ・ヘッダについて:RFC 2046 (RFC 1522の改訂版です) [RFC2046] MIME Part Two: Media Types http://www.ietf.org/rfc/rfc2046.txt RFC2046の参考訳 http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2046j.html RFC2046 Appendix A の参考訳(バウンダリ文字列の規則が書かれています) http://www.y-adagio.com/public/standards/tr_mime-p2_2046/mime2046anxa.htm ついでに…… メッセージ本文について:RFC 2045 (RFC 1521の改定版です) [RFC2045] MIME Part One: Format of Internet Message Bodies http://www.ietf.org/rfc/rfc2045.txt RFC2045の参考訳 http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2045j.html
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.