0

XMLHttpRequest と FormData API を使用して画像ファイルを G-WAN サーバーにアップロードしようとしていますが、ファイルの内容を取得できません。h_entities の出力は次のとおりです。

-----------------------------75940917410019849751723987620 Content-Disposition: form-data; name="test_param" test_value 
-----------------------------75940917410019849751723987620 Content-Disposition: form-data; name="uploadedFile"; filename="test.png" Content-Type: image/png PNG

「コンテンツ タイプ」は multipart/form-data です。G-WAN にファイルをアップロードできた人はいますか? 例が見つかりませんでした。ありがとう!

4

1 に答える 1

0

ここ数時間かけて、サーブレット (エンティティに関するすべてを報告し、最初の 1,000 バイトを一覧表示する) を呼び出すG-WAN v3.10+ (ファイルへのボタンをentity.html含むフォーム) と呼ばれる専用の例を作成しました。[browse]POSTentity.cPOST

G-WAN バージョン 3.3 が最初にヒットするのは、POST エンティティ サイズの制限です。HTTP エラー 413 (要求エンティティが大きすぎます) が発生します。

この制限を変更する方法を示すために呼び出されたサーブレットの例entity_size.cを作成しました (これはハンドラーまたはサーブレットでいつでも実行できます)。

2 番目に行う必要があること (G-WAN v3.10 以降では自動的に行われます) は、HTTP 要求でまだ読み込まれていないエンティティの欠落部分を読み込むことです (v3.3 では、これにはすべてがロードされるまで、リターン コードを処理してさらに読み取りを行うハンドラー)。

これらの 2 つの点は (現在は廃止されたフォーラムで) 繰り返される質問だったので、例を挙げてみましょう。

したがって、非常に勇気のある方 (および上記の指示に従う意思がある方) でない限り、今月後半にリリースされる v3.10 を待つ方がよいことを理解されているでしょう。いくつかのテスト済みの例から学ぶことができます。

は、エンコーディングentity.cだけでなく、リクエストだけでなく、あらゆる種類のリクエストを分析するためにも呼び出すことができることに注意してください(また、およびも示します)。multipart/form-dataPOSTPUTDELETE

POST/PUT最後の注意: URI パラメータとエンティティの両方がサーブレットにリストされるように、コードも変更しましたargc/argv main()

これにより、次のようなことが可能になります: and (およびエンティティ)POST /?blog/user/1245/day/24にアクセスする必要があるのは、 .user=1245day=24argv[]

これがあなたのプロジェクトに役立つことを願っています!

于 2012-10-18T15:32:40.897 に答える