|
| ||||||||
|
巻き戻し中。
|
|
2009-07-03(金) 改修 [長年日記]
_ attach.rb
あれこれ調べた結果、どうもIE7はPOST時に元ファイルのパス名を「\」や「:\」で区切ったUNC名で送るっぽい。
再現するのに、結局またVMwareでWinXP/IE7の古い環境を作成するハメになった。*1
IE8だと他と互換で「/」みたい。
(昨日も書いたけど、わざわざ端末からパス情報送らなきゃいい話なんだがねぇ)
File::basenameも「\」はお嫌いなようで。。
あ、えいやの分析なので違ったらスマソm(_ _)m
もしかするとエンコードの文字コードが違うってオチもあるんだけど、上手く動いたんで多分アタリとして下さいw
で、強引に最初の方で「:\」と10階層までの「\」を「/」に置き換えるよう書き換えてみた。
で、気が済んだ頃にFile::basenameでストリップ。
もうね、眠かったのでwhileとかループも使う気ねぇし、10階層以上も穴掘るようなお片付けのできない非常識な人は鯖に構っちゃいけませんよ。
深い階層許すと、Windows/SMBのパス名トータル文字数(255バイト)平気で突破する人いるし。
############## Hiro 20090703 ################ For old IE7 upload support #
############################################
# filebasename = filename.sub(/\..+?$/, '') # Orig
filebasename0 = filename.sub(':\\', '/')
filebasename1 = filebasename0.sub('\\', '/')
filebasename2 = filebasename1.sub('\\', '/')
filebasename3 = filebasename2.sub('\\', '/')
filebasename4 = filebasename3.sub('\\', '/')
filebasename5 = filebasename4.sub('\\', '/')
filebasename6 = filebasename5.sub('\\', '/')
filebasename7 = filebasename6.sub('\\', '/')
filebasename8 = filebasename7.sub('\\', '/')
filebasename9 = filebasename8.sub('\\', '/')
filebasename10 = filebasename9.sub('\\', '/')
filebasename11 = filebasename10.sub(/\..+?$/, '')
filebasename = File::basename( filebasename11 )
############################################
修正したファイルはこちら。ホレ(゜Д゜)ノ⌒
txtにしてあるけどEUCかつLFです。
まぁ、上手くやって下さいな。
*1 if [ 我が家 == おいらの目が黒い&&嫁と仲が悪くない ];then 現用マシンは必ず子供も含めて全て最新に更新されてしまっているw
_ 階層
あ、思い出した。
「階層深すぎワロタ」は実際に前の会社で起きた。
毎日、おいらの顔を見ると「昨日作ったフォルダとファイルが消えてるんだよ」って言うおじさん。
もうね、エクスプローラもSAMBAも泣いてますよ。
昔は「8+3」が原則だったから20階層以上掘れたけど、今は長ったらしい全角文字でgdgd名前付けたらあっという間に255バイトに到達。
ISO/ISMSのルール作成時にも
「そもそも直感的に分かりやすい名前は、思い込みによる取り違えの可能性を生むし、システムの制限もあるからシンプルに半角英数の通番で振りましょう」
で入社1週間の後輩S君*1巻き込んで役員と喧嘩。
これに関しては、おいらは元々ネットワーク/システム屋だけど、製造業的*2考え方に賛成。
_ エキマニやら
明日後輩S君と朝から作業予定。
項目は・・・・
・エキマニ
・その影響でアンダーガードも(おまけ)
・I/C外すついでに1年越しのウォータースプレー
天気?あぁ、多分・・・w
昼間は一応大丈夫っぽいな。
日曜日は久しぶりに晴れっぽいが。
まぁ、早く終わらせて焼き肉とビールがしたいんだよ(‾ー‾)ニヤリ
予定外の天気になると、エキマニなだけに不動車になっちゃう。
勘弁だw
Tweets by RC31E | |||||||||
| |||||||||
| |||||||||
|