FFFTP 転送ファイルについて


HPに原稿をアップロード(転送)する際は、自局はいつも WS_FTPLE(WS_FTP95) を
使っているが、Windows8.1以降では、起動はするものの、サーバー側のディレク
トリを開くことができない。そこで、別のFTPソフト FFFTP をインストールして
みた。FFFTP は、正常に動作し、ファイルをアップロードダウンロードできる。
しかし、以前から気が付いていたが、アップロードした後のファイルサイズが、
アップロードする前のサイズよりも若干減っている。

以前はこの理由が解決できなかったので、アップロード前後でサイズが変化しな
い WS_FTPLE を使い続けてきた。FFFTP でアップロードしたファイルのサイズが
減少する理由が、今回実験をしてみてわかったので、ここに記す。(18.May2018)

例えば、『あいうえお』という全角5文字のファイルを作ったとする。 サイズは
全角1文字が 2バイトなので 5文字で 10バイト。このままアップロードすると、
転送先で 10バイトとなるはず。しかし、5文字目の『お』の右側最後で改行する
と全部で 12バイトとなる。これは改行コードが CR+LF で 1バイトづつ 2バイト
増えて、12バイトとなるから。これを、FFFTP でアップロードすると改行コード
が変換されて LF の 1バイトだけとなり、結局 FFFTP で改行付き『あいうえお』
をアップロードすると 1バイト減り、11バイトとなるのである。

つまり、一つのファイルの中で改行の回数だけアップロード後のバイト数が減少
するということになる。なぜ、こういう現象が生ずるかというと、FFFTP の初期
デフォルト設定がそうなっているからで、これを次の設定に変えることでアップ
ロード前後のファイルサイズを同じにすることができる。デフォルト設定では、
「ファイル名で切換え」となっていて、テキストファイル等では自動的にアスキー
モードで転送されてしまうのだ。この設定を 「常にバイナリモード」 にすること
で、この現象を解消することができる。つまり、改行が何個入っていようが転送
前後でファイルサイズは同じになる。設定箇所は左図のとおりである。

> オプション → 環境設定 → 転送1 →『常にバイナリモード』→ OK

なお右図は、原稿を HTMLタグで書く時の文字コードを UTF-8 としているので、
それに合わせ、FFFTP の送信も UTF-8 に設定している。

> <meta http-equiv="Content-type" content="text/html; charset=utf-8">

さて次は 転送先のサーバーから必要なファイルをダウンロードした時に、FFFTP
の左画面ではそのファイル名が見えているのに、後でエクスプローラでフォルダ
を見た時に、その中にダウンロードしたはずのファイルが見当たらない、という
現象が生ずる。調査したところ、次のフォルダの中にダウンロードされているこ
とがわかった。⇒ C:\User\AppData\Local\VirtualStore\Program Files\.....
これは、次のように該当フォルダを読み書き自由にして、この問題は解決する。

フォルダー右クリック→プロパティ→セキュリティ→Users→編集→フルコントロール→All Check


 



トップ へ戻る.
Myページ へ戻る.
衛星ブログ へ戻る.
ホームページ(目次) へ戻る.