1

FTP サーバーにアップロードすると、画像ファイルが常に破損するのはなぜですか? .gif画像は破損せず、.jpeg/のみが破損jpg.pngます。

sub png{
    my $ftp=Net::FTP->new($fhost)or die &ftpErr;
    $ftp->login($hostname, $hostpass);
    my $img=$ftp->put("$file");
    $ftp->get($img);
    $ftp->quit;
    our $image="$img";
    our $shot=$window->Photo(-format=>'png',-file=>"$image");
    $window->Label(-relief=>'ridge',-image=>$shot,-width=>50,-height=>50)->pack(-anchor=>'n');
}
sub jpeg{
    my $ftp=Net::FTP->new($fhost)or die &ftpErr;
    $ftp->login($hostname, $hostpass);
    my $img=$ftp->put("$file");
    $ftp->get($img);
    $ftp->quit;
    our $image="$img";
    our $shot=$window->Photo(-format=>'jpeg',-file=>"$image");
    $window->Label(-relief=>'ridge',-image=>$shot,-width=>50,-height=>50)->pack(-anchor=>'n');
}
4

1 に答える 1

2

ASCII であるデフォルト モードでファイルを転送しています。このモードは行末を変換します。バイナリ ファイルを転送するには、バイナリ モードを使用します。

  $ftp->binary;
  $ftp->put(...);
  $ftp->get(...);
于 2014-11-21T05:37:04.350 に答える