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

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

(#2900) 今更ですが - NON (2019-10-05 21:25) /中 未処理
今更ですが後の方のために。

改造の方針は以下の通り。

cgi.nako を書き換え、読み込みサイズが一定サイズ以上であれば少しずつ「標準入力取得」して一時ファイルに書き出すor変数に代入する。元々のフォーム取得命令で別プログラムに転送すると壊れることがある(特にバイナリ)ので、書き出した一時ファイルあるいは変数を、別プログラムから直接読み書きするようにする。
↑改造で指定した一時ファイルor変数を呼び出し元のプログラムで使用する、すなわち通常のなでしこCGIの機能・命令を使わずに直接制御することになるので、専用の「cgi.nako」が出来上がる。したがって「汎用的なライブラリにするのは難しい」


なお、既存のcgi.nakoだと、バイナリファイルを読むと、小さいファイルであっても末尾にゴミ(マルチパートフォームのフッタ)が付くようです。
これはマルチパートフォームの中身を分割する処理で、フッタを認識できずデータの末尾までまとめて処理してしまうためで、結果としてバイナリを複数添付すると、1つ目のデータにすべて合成された状態で出てきます。
なでしこ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)/ 中 未処理

(#2900)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

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

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