webページでテキストファイルのアップロードが失敗した。その理由は、そのwebシステムの改行コードがテキストファイルの改行コードとは異なるためだ。
一般にwindows系のシステムでは、改行コードはCR+LFで2バイトだ(CRとはCarridge Returnの略で、値は0d。LFとはLine Feedの略で、値は0a)。一方、UNIX 系(Linux含む)のシステムの改行コードは、LFのみだ。CRだけのシステムもあるようだ。それゆえ、web系のシステムをlinuxで作ると、改行コードはLFとなる。
それに対して、クライアントとして、windowsでアップロードするデータのテキストファイルをテキストディタとかvbaとかで作ると、通常、改行コードはCR+LFとなり、webシステムへのテキストファイルのアップロードがフォーマットエラーとなるわけだ。
そうならないためには、改行コードを意識して、テキストファイルを作成する必要がある。
たとえば、windowsクライアントのツールをvbaで作る場合、普通のprint s(sはstringの文字変数)ではCR+LFが付くため、わざわざ、print s & vbLf; とするのだ。最後尾の;がCR+LFを抑止し、vbLfでLFのみを付与d切るのだ。
テキストエディターの場合、そのソフトが改行コードを指定した保存をサポートしていれば、変更できる。
0 件のコメント:
コメントを投稿