您好我正在尝试使用ftp将文件下载到perl中的特定位置。
my $zipname = $ftp->get($filename,$local_dir)or die "get failed ", $ftp->message;
但我收到了这个错误。
"get failed Failure writing network stream. No transfer to ABOR."
如果我在不使用第二个参数的情况下下载同一个文件" $ local_dir"在ftp get()然后它正在下载它。 我需要将其下载到特定位置,因此必须使用第二个参数。
我正在使用use Net::FTP;
和$ local_dir包含我的目标文件夹的路径(我希望我的文件可以下载)。
答案 0 :(得分:1)
您确实需要显示更多代码。但是如果您使用的是Net::FTP
,则get
方法的第二个参数是输出文件的路径。您的变量名称$local_dir
听起来像是将路径传递到目录
答案 1 :(得分:1)
我想出了另一种方式,它对我有用
$ftp->binary();
$ftp->port();
open TEMPFILE, ">$temp_path" or die "\nCan't open $temp_path for writing: $!\n";
binmode TEMPFILE;
my $dataconn;
my $buffer;
$dataconn = $ftp->retr($filename);
while ( $dataconn->read($buffer, 10240) ) {
print TEMPFILE $buffer;
}
close TEMPFILE or die "Can't close $temp_path: $!\n";
$dataconn->close();
$ftp->quit();