| 記事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でもアップロード成功しました。