0

リモート zip ファイルにある .csv ファイルの内容を、zip ファイルをダウンロードしてローカル マシンに抽出せずに読みたい。

ファイルの zip ファイルのサイズが大きすぎて、必要に応じてダウンロードするのに時間がかかるため、これが必要です。

私はこれをperlで試しています。

私のコードは次のとおりです。 my $ftp = Net::FTP::AutoReconnect->new("ftp.somename.com"); $ftp->login("ユーザー","パスワード"); $ftp->cwd("パス");

my $fh = Net::FTP::RetrHandle->new($ftp,"filename.zip");
my $zip = Archive::Zip->new($fh);
my @member_names = $zip->memberNames();
my $member1 =  $zip->memberNamed("Basic/BoardDescriptions.csv");

my $string = $member1->contents();
print Dumper $string;

コンテンツメソッドの呼び出し中に io::seeking to local header エラーが発生しました。そのステートメントまで、コードは正常に機能していると思います。

それを試してくれる人に前もって感謝します。ありがとう。

4

1 に答える 1

0

私の推測では、これは Archive::ZIP のせいではありません.. @member_names を印刷できますか?

Net::FTP::RetrHandleはそれを約束しますが、個々のファイルを抽出する方法は明らかではありません。

これはもともと Archive::Zip で使用するために設計されました。全体をダウンロードしなくても、リモートの ZIP アーカイブから目次と個々のファイルを抽出できるほどの信頼性があります。

別のサーバーの別のファイルで同じことを試してください..

于 2010-10-20T18:52:53.840 に答える