OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ファイルのアップロードについて

  • すぐに回答を!
  • 質問No.115529
  • 閲覧数69
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 48% (37/77)

はじめまして。CGIにperlを使用して、ブラウザからファイルのアップロードを実現させようとしています。
binmode ( STDIN );
read ( STDIN, $tBUF, $BUFSZ)
のようにして読み込み、バイナリーモードで書き出しています。
画像系はうまくいくのですが、テキスト系をアップロードするして、アップロードしたものをFTPソフトでASCKIIモードでダウンロードすると、どの文字コードの場合でも、一行ごとに余計な改行がひとつはいってしまいます。
バイナリーモードだとうまくいきます。

FTPソフト NextFTP2.02
使用OS:windows2000 workstation
サーバーのOS:SunOS 5.8

ちなみみにサーバーがRedhat5.0のときはうまくいきました。
こういった原因はが、さっぱりわかりません。誰か教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

 テキストの場合は、アスキーモードでアップロードするのは少々面倒です。
 テキストファイルと分かっているファイルの場合、意識的に改行コードから \r をすべて除いてあげなくてはいけません。
 NextFTP は、改行コードが \n と \r のどちらが来てもいいように、この2つのコードを「それぞれ」\n\r に変換してしまっているからです。
 この機能はIEにも搭載されています。

 RedHat はおそらく、Content-type: text がくると自動的にそれを探知して改行コードの問題を解決してくれるんだと思います。
 これは RedHat 固有の機能だと思うので、これには期待しない方がいいでしょう。

 置き換え処理は、シフトJISの場合、正規表現で s/\r//g; とすればOKです。
補足コメント
snake103

お礼率 48% (37/77)

有難うございます。参考になります。補足で質問させてください。
改行コードCR(\n)でアップロードしても変な改行がはいってしまいます。
テキストでも、画像でもサーバー上で、バイナリーとして読み込んで保存する場合は、改行の問題はかかわってこないということですよね。問題となるのは、その保存された、テキストをNextFTPでダウンロードするときということでしょうか?
このときたとえば、改行コードCRLF(\r\n)の場合、\n\r\n\rに変換されてしまうといことでしょうか?
また、IEのformタグでマルチポートの指定をしていても、アスキーモードになってしまうのでしょうか?
投稿日時 - 2001-08-08 17:03:36
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2

 そうです。  これはダウンロードするときの問題なので、アップロードするときは規定通り動いているはずです。  ですので、IEのマルチポートはアップロード時の話なので、やっぱり駄目なはずです。 ...続きを読む
 そうです。

 これはダウンロードするときの問題なので、アップロードするときは規定通り動いているはずです。
 ですので、IEのマルチポートはアップロード時の話なので、やっぱり駄目なはずです。
補足コメント
snake103

お礼率 48% (37/77)

有難うございます。たびたびすいません。あと一つだけ質問させてください。

1、改行コードCRLF(\r\n)の場合、\n\r\n\rは、一行ごとのはなしですよね?

2、検証してみたところ、IE5をつかっているのですが、IEでアップロードしたものをNextFTPでバイナリーモードでダウンロードする場合は、何の問題もありませんでした。これは、なぜでしょうか?
投稿日時 - 2001-08-08 18:29:40


  • 回答No.3

 えー。  1はイエスです。  で、2ですが……。  何でしょうそれは(笑)  あるいはIE5が改行を勝手に \n\r から \n に変換してくれたんでしょうか?  だとしたらつじつまが合うんですが。 ...続きを読む
 えー。

 1はイエスです。

 で、2ですが……。
 何でしょうそれは(笑)
 あるいはIE5が改行を勝手に \n\r から \n に変換してくれたんでしょうか?
 だとしたらつじつまが合うんですが。
お礼コメント
snake103

お礼率 48% (37/77)

何度も、大変有難う御座いました。
自分で出した結論としては、NextFTP場合拡張子を.txt以外にするとバイナリーと認識するということ。当面は、拡張子を変えてやろうと思います。(笑)
投稿日時 - 2001-08-08 22:53:44
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ