- ベストアンサー
IE6でアップロードファイルのサイズを取得する方法
- IE6でアップロードしたファイルのサイズを取得する方法について教えてください。
- ファイルサイズを取得して、一定の値以上の容量であればアラートを出力するJavaScriptプログラムを書きたいですが、エラーが出ていて進めません。
- どのようにファイルサイズを取得すれば良いのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> IE6 でアップロードしたファイルのサイズを取得したいです。 アップロード「した後の」ファイルなら、サーバ側でサイズを取得出来ますが、おそらく、 アップロード「する前の」ファイルのサイズを取得したいのですよね? JavaScriptで取得するのは、File APIが必要です。IEでは、IE10以降じゃないとできません。
その他の回答 (2)
- pacman_chie
- ベストアンサー率82% (14/17)
アップロード「した」? …って、もうNo.2の方が指摘されてますので、以下省略。 Javascriptの範囲を逸脱してしまいますが… Windows上のIE専用なら、WSHのFileSystemObjectを使うとか? ただし、セキュリティのダイアログが出ちゃいますけどね! 一応、下のほうにサンプルを載せておきます。 あと他に思い当たるのはFlashでしょうか。 ☆FileReferenceクラスを使って、コンピュータ内の画像を読み込もう。 http://creator.mynavi-agent.jp/special/flash/fl_059.html 上記ページにあるサンプルは画像ファイル限定ですが、コードや解説を読むと任意のファイルを扱えるように思えます。 これをWindows98上のIE6+Flash9で試すと、画像が表示されないもののファイルサイズは表示されました。 拡張子をPNGにした100MBのダミーデータファイルを選択しても表示は瞬時でした。 ただ、実際にこれを採用するとなるとJavascriptとの連携も必要なので、いろいろ面倒そうですねー。 <script type="text/javascript"> function GetFileSize(FN){ var FSO=new ActiveXObject('Scripting.FileSystemObject'); if (FSO.FileExists(FN)){ var FileSize=FSO.GetFile(FN).Size; alert(FileSize+' byte'); }else{ alert('ファイルが見つかりません'); } FSO=null; } </script> <form name="frmFile" action=""> <input type="file" name="upfile" value=""> </form> <button onclick="GetFileSize(frmFile.upfile.value)">ファイルサイズを取得</button>
お礼
ありがとうございます。参考にいたします
- t-okura
- ベストアンサー率75% (253/335)
そんなことできないと思いましたが、やっている人がいました。 取得したファイル名を img オブジェクトに与えて、サイズを取得するという方法です。 http://www.openspc2.org/JavaScript/library/etc/filesize/index.html 動作ブラウザが IE4, IE5 となっているので、IE6 でも動くのかは不明ですが、大丈夫ではないでしょうか。
お礼
ありがとうございます。参考にします
補足
回答ありがとうございました。 提示していただいたURLのやり方も試しましたが、ダメでした。
お礼
ありがとうございます。参考にします