記事No | : 10445 |
投稿日 | : 2012/04/25(Wed) 10:25:45 |
タイトル | : Quick DB Ver: 1.0 CSVデータ管理のエラー |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
CSVデータ管理を選択すると以下のエラーが出ます。
Can't call method "0" without a package or object reference at admin.cgi line 387
余談ですがモジュールをCGI-Simpleに変更したことによって50MBのファイルがアップできることを確認しました。
しかし70MBのファイルはアップロードに失敗します。
CGI.pmを使ってもファイルを分割してアップロードする方法では同様に失敗するようです。
CGI.pmの場合COPY関数のmoveメソッドを使って一気にアップロードすれば100MB以上のファイルもOKでした。
これはサーバー環境にも左右されると思いますが、デジカメで撮影した動画をアップロードする時に使えそうです。
記事No | : 10448 |
投稿日 | : 2012/04/25(Wed) 14:05:43 |
タイトル | : 了解>BALさん |
ID情報 | : kent |
投稿者 | : KENT |
> CSVデータ管理を選択すると以下のエラーが出ます。
>
> Can't call method "0" without a package or object reference at admin.cgi line 387
>
>
> 余談ですがモジュールをCGI-Simpleに変更したことによって50MBのファイルがアップできることを確認しました。
> しかし70MBのファイルはアップロードに失敗します。
> CGI.pmを使ってもファイルを分割してアップロードする方法では同様に失敗するようです。
> CGI.pmの場合COPY関数のmoveメソッドを使って一気にアップロードすれば100MB以上のファイルもOKでした。
> これはサーバー環境にも左右されると思いますが、デジカメで撮影した動画をアップロードする時に使えそうです。
ご指摘ありがとうございます。
修正アップしておきました。
CGI::Simpleモジュールによる大量データのアップロードですが、
print UP $buf while read( $fh, $buf, 4096 );
の「4096」の値を変えてもダメですか?
記事No | : 10449 |
投稿日 | : 2012/04/25(Wed) 16:37:07 |
タイトル | : Re: 了解>BALさん |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> CGI::Simpleモジュールによる大量データのアップロードですが、
>
> print UP $buf while read( $fh, $buf, 4096 );
>
> の「4096」の値を変えてもダメですか?
とりあえず3倍の12288で試したら100MBもOKでした。
この値を色々変えて最適値を探せばいいのでしょうが何分100MB以上のファイルとなるとアップロードに時間が掛かるものですから^^;
記事No | : 10450 |
投稿日 | : 2012/04/25(Wed) 17:16:11 |
タイトル | : Re^2: 了解>BALさん |
ID情報 | : kent |
投稿者 | : KENT |
> > CGI::Simpleモジュールによる大量データのアップロードですが、
> >
> > print UP $buf while read( $fh, $buf, 4096 );
> >
> > の「4096」の値を変えてもダメですか?
>
> とりあえず3倍の12288で試したら100MBもOKでした。
> この値を色々変えて最適値を探せばいいのでしょうが何分100MB以上のファイルとなるとアップロードに時間が掛かるものですから^^;
なるほど。
以下の記事などの方法がよさそうですね。
http://blog.dtpwiki.jp/dtp/2007/10/cgipm_e5c6.html
記事No | : 10451 |
投稿日 | : 2012/04/25(Wed) 17:50:43 |
タイトル | : Re^3: 了解>BALさん |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> なるほど。
> 以下の記事などの方法がよさそうですね。
>
> http://blog.dtpwiki.jp/dtp/2007/10/cgipm_e5c6.html
私が参考にしたのは正にこの記事です。
1GBのファイルならこの方式でなければおそらく無理かと思われます。
100MB程度のファイルならCGI::Simpleモジュールで十分かと。
【追記】4月27日
print UP $buf while read( $fh, $buf, 30720 );
30KB毎にファイル分割を行うと160MBでもアップロード成功しました。