記事参照

No.3 2017/10/23 13:02
題:Re: スキャナ−したものをアップロ−ドすると変な色がつく
名:名無しさん

ホームページビルダー付属の転送ツールの場合、上部メニューの「転送」から「転送モード」のメニューを開くと、「自動」、「バイナリモード」、「テキストモード」があります。
名前は違いますが、ASCIIモード(アスキーモード)、テキストモードは同じ意味なので、ここを試しにバイナリモードにして画像を転送してみてください。
ビルダーのバージョンによっては転送ツールのメニュー構成が異なる場合がありますが、テキストモード(アスキーモード)とバイナリモードの切り替えは、どのFTPクライアントでも必ずありますので確認してみてください。
転送した後の確認時に同じファイル名だとブラウザのキャッシュが働き、古い壊れた画像を表示する可能性があるので、試す際は画像のファイル名を変更するか、転送後にブラウザのキャッシュを削除してからアップロードした画像を表示してください。
通常は「自動」にしておけば、よくあるファイルが登録されているので問題は出ないはずですが、一応その設定も確認して下さい。
私の環境の場合(ビルダー21)はファイル転送ツールのメニューから、サーバー > 転送設定 > 転送モード自動判別設定 です。
「テキストモードで転送する拡張子」に今回の場合は「JPG」が登録されていたら削除して下さい。

なぜ画像をテキストモード(アスキーモード)で転送すると壊れるのかですが、多くのサーバはUnix系で改行を表すコード(改行コード)がLF(0x0A)ですが、WindowsはCR + LF(0x0D 0x0A)のためです。
PHPやCGIなどのスクリプトの場合にこの変換に意味があり、WindowsのCR+LFのスクリプトをバイナリで(改行コード変換なし)でアップロードすると、UnixではCR+LFの改行コードを認識できないのでスクリプト実行時にエラーが出るわけです。
またWindowsの場合でも改行コードをLFで編集したファイルの場合はバイナリモードで転送しないと逆にエラーが出ます。

画像の場合は上記のような変換が必要ありませんが、転送モードがテキストモード(アスキーモード)になっている場合、同じように変換するため、結果ファイルが壊れる事になります。
試しにいくつかの画像ファイルで試してみましたが、一部の画像は上記URLのものと似た壊れ方をしました(画像の下部の1/5に青黒い帯が出た)ので、転送モードによるものの可能性が高いです。
また、もう確認されたかもしれませんが、セキュリティソフトをオフにしての転送も試してみてください。



掲示板に戻る