6

これが適切なフォーラムでない場合は申し訳ありませんが、この質問がすべてのサイトのどこに当てはまるかわかりませんでした. 私のベンダーには、サーバーにファイルをアップロードするための API があり、Content-Type: multipart/form-data で POST を作成します。私の node.js エクスプレスはリクエストを解析できません。また、他のツールを使用してアップロード リクエストを生成する場合、Fiddler で見られる主な違いは、境界間にまったくコンテンツのないセクションが 1 つあることです。例えば:

POST /upload HTTP/1.1
Content-Type: multipart/form-data; boundary=887c07d2-ff01-4eaa-b374-a807f9673742
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.7.0_15
Host: 192.168.1.109:3000
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 2539

--887c07d2-ff01-4eaa-b374-a807f9673742
--887c07d2-ff01-4eaa-b374-a807f9673742
Content-Disposition: form-data; name="Filename"

picture_178.jpg
--887c07d2-ff01-4eaa-b374-a807f9673742
Content-Disposition: form-data; name="folder"

whatever
--887c07d2-ff01-4eaa-b374-a807f9673742
Content-Disposition: form-data; name="Filedata"; filename="picture_178.jpg"
Content-Type: image/jpeg

......JFIF.....H.H.....C.........................................
(etcetera)

関連する RFC を調べましたが、これは有効ではないと思いますが、ベンダーにデモンストレーションするためにこれについて同意を得るのに役立つツールはありますか? HTML バリデータやその他のバリデータについては知っていますが、ライン プロトコルの結果を検証するものは見つかりませんでした。

ありがとう。

4

1 に答える 1

3

オンライン検証ツールについては知りませんが、マルチパート仕様では、境界間の部分が RFC 822 準拠のメッセージであることを要求しています。上記の RFC では、メッセージに少なくともいくつかの空白を含める必要があるため、空の文字列では不十分です。したがって、この例は有効なマルチパート メッセージではないと思います。

于 2014-01-04T22:53:52.633 に答える