「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

(#2682) Re: なでしこCGIで大ファイルを受信するとデータが途切れる - うぇいく (2016-10-19 21:23) /中 未処理
まだ確認できてないのですが、どうも、指定サイズを標準入力から読み込む命令にて、1命令での処理分は1度に読み込もうとしていて、これに失敗した場合に、中途半端に読めている状態のまま進んでしまうようです。
その際、サイズだけは、予定サイズになっているために、ゴミが残っているようです。

POST内容の受信サイズの確認と受信については、cgi.nakoで行っているので、おお担ファイルを受信する場合には、cgi.nakoを改造したほうがよさそうです。
(今は、POSTされた内容をすべてオンメモリで変数に入れて処理しようとしています。結果、32bitsアプリなのに、数メガとか数ギガのメモリを確保しに行く可能性があります)
なお、POSTによるファイルの添付がある場合、大抵のライブラリでは、添付されたファイルは、変数には持たず、いったん一時ファイルに書き出してしまう方法が一般的かと思いますが、一時ファイルの管理・処理が必要となるので、汎用的なライブラリにするのは難しいです。必要に応じて、各々でカスタマイズ(受信してほしい場所と名前で保存するようにする)がよさそうです。

とりあえず、標準入力からの読み取り失敗については、エラーとする方向で考えています。(メモリが足りている限りは)受信可能にできるかどうかは、思い当るふしはあるのですが、試してみないとわかりません。
編集
📌 なでしこCGIで大ファイルを受信するとデ.. / NON (2015-11-10 22:26) (#2471) /中 未処理
└─ Perlでは問題なし / NON (2015-12-29 14:37) (#2519) /中 未処理
└─ IISでも再現 / こころ (2016-10-07 22:32) (#2678) /中 未処理
└─ Re: なでしこCGIで大ファイルを受信する.. / うぇいく (2016-10-19 21:23) (#2682) /中 未処理
└─ どう改造すればよいのでしょうか / NON (2016-12-01 19:09) (#2707) /中 未処理
└─ 今更ですが / NON (2019-10-05 21:25) (#2900) /中 未処理
└─ 追記2 / NON (2020-04-09 21:15) (#2915) /中 未処理

✏️ (#2682)へ返信する

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能