不具合とは総じて変な物である。
不具合は原因が無ければ発生しない。
不具合が無い様、あれこれと柵を巡らせているのにもかかわらず、何故か発生し、原因が分からない。
しかし、ちょっとした偶然で見付かることが多く、不具合の原因とは、発生した不具合とは本質的に異なることが多い。
先日、同じファイル名があってアップ出来ないという問題が発生していたと書きましたが、ホントくだらない原因でした。
そもそも、その場所は、ファイルabcdefg.hijをabcdefg.hijklにして、ダウンロードし、abcdefg.hijをabcdefg.hijmnに変更して、abcdefg.hijklをabcdefg.hijにして、abcdefg.hijmnを削除するという方法をとっていました。
これには、何ら問題は無いはずでしたが、今甦るMS-DOSの死産
ファイル名が被らないように拡張子の後ろに文字を追加したabcdefg.hijklはabcde~1.hijという別ファイル名をも持っていました。
abcdefgがabcde~1で合ったために、本来abcde~1.hijは存在しないにもかかわらず、8.3ファイル名としては存在するファイル名として処理されました。
これらの問題は、色々と考えてみましたが、対処出来る度合いを超えています。
例えば、aaaaaa~1.b
というファイルをダウンロードしたい場合、
aaaaaaaaa.bというファイルが既に存在しaaaaaa~1.bという8.3ファイル名が割り当てられていた場合、
当然上書きしてしまいますし、aaaaaa~1.bというファイル名でダウンロードしたとしても、その結果のファイルはaaaaaaaaa.bとなってしまいます。
aaaaaa~1.bにはなりません。
これを何とかするには、aaaaaaaaa.bを全然違うファイル名に変更するか、短くして、8.3形式を外します。
その後、aaaaaa~1.bをダウンロード(作成)します。
その後、aaaaaaaaa.bだった物をaaaaaaaaa.bへ戻します。
するとaaaaaa~2.b等の新しい8.3形式が割り当てられます。
短くする方法は衝突する可能性がありますので、ファイル名を作成するのが大変です、しかし8.3形式はファイル名の前方が残るので、前の方に余分な文字列を追加する分には簡単に違う8.3ファイル名にすることが出来ます。
それにしても、不具合の原因がMS-DOSに由来するとは思っても見ませんでした。
あとは何とかして、100M以上のファイルを送れる様にしたいですね〜
|