【HTML】input type=fileのC: akepath問題


input type="file"でファイルを選択すると、選択されたファイルが実際に位置しているローカルディスクのフルパスとは違うパス値として自動的にC:\fakepath\(選択したファイル名)に変換されることがある。
ググってみると昨今のブラウザのセキュリティ仕様で勝手にそういう風に変換されるらしい。
ただこれはブラウザ毎にも少し異なる動きをするし、ローカルのHTMLを直接ブラウザで開いた場合やサーバ上に存在するHTMLを開いた場合でも異なる。
実験して分かった範囲をまとめてみる。


 


TMレボリューションをdisって先輩に怒られる夢


今現在、実際一緒に仕事してる先輩(Mさんとする)と、その配下で動いている部下3人がいて、

部下のうち1名(Aとする)が仕事についての悩みをMさんに相談した。
そのあと、MさんがA除く部下3人を呼び出し、
紙資料を丸めて棒上にして、それ使って部下の頭を順に小突いていった。
※ちなみに一応補足すると、
Mさんはそんなことするキャラじゃないし、
「呼び出し」もごく軽い「ちょっとお前らしゅーごー!www」みたいな)ノリで行われており
部下に対する説教が目的だとしても表面的には険悪なムードではなかった
Mさんとは仕事上の管轄範囲が若干違うため(実際現実的にも違う)、
俺はその「呼び出し」で集合かまされることはなかった。
上述したMさんの説教の様子を、少し離れたところから
何故かTMレボリューションと一緒に眺めていた。

【Java】Servletでファイルダウンロードさせる基本的な仕組みとファイル名に関するちょっとした実験


Servletでファイルダウンロードさせる実装のメモ
と、ダウンロードファイル名に関するちょっとした実験の結果

ダウンロードの動きを取るかどうかは、最終的にはブラウザに依存するようだが、
レスポンスヘッダ「Content-Disposition」に「attachment」をいれてやり、
かつファイルの種類によって適切なContent-typeを指定することで、
ダウンロードの動きになるようである。