dポイントプレゼントキャンペーン実施中!

ファイルデータをサーバにアップロードするために、
BASE64でエンコードしてPOSTしています。

1.4MBぐらいまではrequestをサーバ側で取得でき保存できるのですが、
1.4MBぐらいを超えると、requestが取得できず(?)例外となります。

requestが取得できていないと判断したのは、
eclipseでデバックして、リクエストの中身を参照して判断しました。
Apacheのログでは正しくApacheで取得しているであろう、
ファイルサイズが出力されています。

何が起因しているのかまったく分かりません。
何か解決方法のヒントでも教えていただけませんでしょうか。

ローカルのWindowsでも同現象になります。

Apache:2.0
Tomcat:6.0
DI(Seasar):2.4.28

A 回答 (1件)

ちょっとどんな例外かわからないのであれですがー。



単純に、TomcatのPOSTサイズの上限を設定してないってことはないでしょうかー。server.xmlの<Connector>に、maxPostSize="バイト数"ってやって上限をでかくしてやったら送れないですかねー。
    • good
    • 0
この回答へのお礼

お返事を頂いたにも関わらず、連絡が遅くなり申し訳ございませんでした。

原因をいろいろと調査していった結果、
tomcatのserver.xmlにmaxPostSizeというのが設定されていて、
それの初期値が2MBだった、ということが、分かりました。

1.4MBをBASE64でエンコードしてPOSTすると、
元データより多くのデータ量をPOSTすることになり、
他リクエストパラメータと合わせて、2MBを超えたためでした。

大変お世話になりました。

BASE64でリクエストパラメータとしてPOSTするのは、
あまり良いやり方ではないかもしれないですかね。。。

お礼日時:2009/11/02 03:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!