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 回答