我正在使用FTP get()从perl的服务器中下载一个zip文件,但是当我尝试将其解压缩时,无论是通过perl还是手动地,我都无法做到(我正在使用&zip)。
但是,当我手动下载同一文件时,便可以使用7 zip手动将其解压缩。

$fpath = "filename";
my $dest = "dest";
$ftp = Net::FTP->new($host, Debug => 0)||warn("connection not made");
$ftp->login($user, $pass) || die $ftp->message;
$ftp->cwd($dir);
my $zipName = $ftp->get($fpath);

my $zip = Archive::Zip->new($zipName);
my $extractor = Archive::Extract->new( archive => $zipName );
my $ext = $extractor->extract(to=>"location");

文件大小与服务器相同

无法解决问题。

最佳答案

如果下载的存档已损坏,则可以强制执行不执行任何ftp转换的二进制传输,

$ftp->binary;

08-26 13:47
查看更多