• ベストアンサー

ファイルサイズの取得

urizakaです さて、<INPUT TYPE="file"…>タグで指定されたファイルのサイズを計るため 以下のようにプログラムを組んでみました。 しかしながら、 if (document.Insert.tfile.value != ""){ //ファイル指定部分が空ではない //ファイル指定部分で指定したファイル名をIMGタグのSRCに指定 document.Insert.hiddenFile.SRC =document.Insert.tfile.value;      //ファイルのサイズを表示 alert("fileSize = " + document.Insert.hiddenFile.fileSize); } しかし、このようにして表示すると、値"-1"しか返ってきません。 このメソッドだとファイルのバイト数が戻ってくるはずなのですが… 環境はIE5 + Windows2000です

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

> document.Insert.hiddenFile.SRC =document.Insert.tfile.value; src であるべき部分が SRC になってますが、これは単なる書き損じでしょうか? 見たところ問題がありそうなのは、そこだけだと思います。 また、測ろうとしてるのは画像ファイルですよね? 画像ファイル以外では、サイズを測ることができませんのでご注意ください。

urizaka
質問者

お礼

urizakaです そうですか、画像ファイル以外はできないのですか… いや、下記のサイトには、どのファイルでもできるような記述がされていた もので…仕方ないのでサーブレット側でやってみます。 どうも、ありがとうございました。 http://www.openspc2.org/JavaScript/NewLib/special/filesize/

その他の回答 (1)

  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

ブラウザからWWWサーバーにファイルをアップロードするのですよね。 hiddenFileの形式は何でしょう。hiddenですか?それだと、サイズが取れないかもしれません。 document.Insert.tfile.fileSizeを表示してみてはいかがでしょう。

urizaka
質問者

補足

urizakaです さて、hiddenFileについての回答が抜けておりました。 hiddenFileは<IMG>タグです >document.Insert.tfile.fileSizeを表示してみてはいかがでしょう。 つまり<input type="file">タグから直接ファイルサイズが取れるということ でしょうか? ちょっと試してみますね。

関連するQ&A

  • IE6 で アップロードファイルサイズ

    IE6 でアップロードしたファイルのサイズを取得したいです。 いろんなやり方を試しましたが、ページエラーばかり出てしまいます。 下記のようなフォームです。multipulの指定はなし。 ------------------------------------- <form name="frmFile" action=""> | <input type="file" name="upfile" value=""> | </form> ------------------------------------- <script type="text/javascript"> var filesize = document.frmFile.upfile.fileSize; </script> 上記のjavascriptではページエラーが出ます。 ファイルサイズを取得して、一定の値以上の容量であればアラートを出力する javascriptのプログラムを書きたいですが、エラーが出ていては前に進めません。 サイズの取得の仕方を教えてください。お願いします。

  • ファイル名の取得がうまくいきません

    <input type="file" name="ans4" /> で取得したファイル名を取得する方法がわかりません。 指定したファイル名とそのの画像が表示されるというHTMLプログラムですが、 そのような動作になりません。 確認のため、指定した画像ファイル名を直接書くと、その画像が表示されます。 <form name ="a"> 写真を指定してください:<input type="file" name="ans4" /><br> <IMG SRC = document.a.ans4.value WIDTH="120" HEIGHT="84"><br> document.write("指定したファイルは" + document.a.ans4.value); 確認用に画像を表示<br> <IMG SRC="testFig.jpg" WIDTH="120" HEIGHT="84"><br> </form>

  • ファイルサイズの取得について

    初めてのJavaScriptです、宜しくお願いします。 フレームページで左ページから右ページのファイルサイズを調べる事はできますか? <script type="text/javascript"> function getSize(){ document.write(parent.rightFrame.document.fileSize); } </script> </head> <body><!-- leftFrame --> <p><a href="http://www.yahoo.co.jp" target="rightFrame">ヤフー</a></p> <p><a href="javaScript:getSize()">サイズ</a></p> </body>

  • Javascriptの中に外部jsファイルを呼び出したい。

    入力フォームで都道府県などのたくさん項目がある プルダウンメニューやセレクトボックスを外部化し jsの中には document.write('<option value="1">北海道</option>'); document.write('<option value="2">青森</option>'); document.write('<option value="3">岩手</option>'); document.write('<option value="4">宮城</option>'); などとし、ファイル名は「todou.js」としました。 セレクトボックスの外部ファイルは document.write('<option value="1">インターネット</option>'); document.write('<option value="2">テレビ</option>'); document.write('<option value="3">新聞</option>'); などとし、外部ファイルは「kikkake.js」としました。 htmlのところには <tr><td>都道府県:</td> <td><select> <script src="select1.js"type="text/javascript"> </script> などとし、載せることはできました。 しかし、最後に送信ボタンを押した時に 確認するためにアラートで選択したものを出したい時に どうやって呼び出したらよいのでしょうか? 色々調べてみたらまず <script language="JavaScript" src"todou.js"></script> とすると書いてありました。 しかし複数の外部ファイルを呼び出すためにはどうしたら よいのでしょうか? あとアラートで確認するために function Check(){ var myTodou = document.myForm.src"todou.js".value; alert('都道府県:' + myTodou); とするのでしょうか? 不備部分がありましたらご指摘ください。 どうかよろしくお願いします。

  • JavaScriptのfileオブジェクト(input type="file")の選択を初期化したい

    fileでユーザーが選択したファイルを、未選択の状態にしたいのですができません。 valueプロパティを""にしてもnullにしても、元の値(ファイルパス)が入ったままです。 HTML: <input type="file" name="picture_file"> JavaScript: document.form_main.picture_file.value = ""; alert(document.form_main.picture_file.value); document.form_main.picture_file.value = null; alert(document.form_main.picture_file.value); どうにかして初期化する方法はありますでしょうか?file以外のほかのinput項目は変更せず、また画面遷移もせず実現する必要があります。

  • ウィンドウサイズを取得して、phpで使いたい

    フォルダ内の画像を配列にして、imgタグを書き出すように、phpを書きました。 imgタグでwidth、heightを指定することで無理やり縮小させて表示し、 ライトボックスを使って元のサイズで開くようにしています。 できればああしたいこうしたい、というのはたくさんあるのですが、 とりあえず、 画像がウィンドウサイズより大きいときはライトボックスを使わないようにしたいのです。 javascriptでこのように、ウィンドウサイズを得ることはできました。 var winw = document.body.clientWidth; var winh = document.body.clientHeight; たとえば、$window_wにwinwを代入し、 このようなことをしたいのですが、なにか方法がないでしょうか。 $imgは、画像のパスがずらずら並んだ配列です。 $widthは画像サイズ、 $thumbは縮小させたいサイズで、別に定義しています。 ~前略~ if ($width>$window_w){ print "<a href=\"$img[i]\"><img src=\"~~.jpg\" width=\"$thumb\"></a>"; } ~後略~

    • ベストアンサー
    • PHP
  • iframeのソースを取得したい

    いつもお世話になります。 物凄くまとめてしまってすみません。 window.onload = alert(document.getElementsByTagName("body")[0].getElementsByTagName("iframe")[0].contentWindow.document.innerHTML); というようなスクリプトを実行しているのですが、未定義(undifined)が表示されてしまいます。 もちろんbodyないにちゃんとしたsrcを指定したiframeはあります。 どのようにすればいいでしょうか。 よろしくお願いします。

  • 画像サイズの読み込み

    お世話になります。 javascriptで画像サイズを取得し、そのサイズに合わせてimgタグhtmlを吐き出すという処理を行っています。 ------------------ var i = new Image();  //**step1 i.src = strPath;  //**step2 hhh = i.height;  //**step3 document.getElementById('aaa').innerHTML ='<img src="" id="backImage" height="' + hhh + '"></img>'; ------------------ 上記において、**step2と**step3の間に、alert文を入れると、うまく画像サイズを取得できるのですが、alertがないと、hhh = 0 になってしまいます。 (うまくいくケースは以下↓) ------------------ var i = new Image();  //**step1 i.src = strPath;  //**step2 alert("sdf"); hhh = i.height;  //**step3 document.getElementById('aaa').innerHTML ='<img src="" id="backImage" height="' + hhh + '"></img>'; ------------------ なぜでしょうか・・・かれこれ数時間悩んでいろいろ試してみましたが、原因がサッパリわかりません。 ちなみに、hhh = 0 になるのは、最初の1回だけ、二度目にここを通ると、alertがなくてもhhhには正しく数値がセットされます。 どなたか、何かヒントになるようなことでもあれば、おしえてください。よろしくおねがいします。

  • 画面項目値の取得について

    こんにちは。 Javascriptで以下の記述をしたら1回目のアラートでは 何も表示されず2回目のアラートでは画面項目の値が 表示されました。(正しいのは2回目) 連続でまったく同じalert文を記述しているのに 1回目のアラートと2回目のアラートが異なるのはなぜでしょうか? 【記述内容】 alert(document.form.elements['txt1'].value); alert(document.form.elements['txt1'].value);

  • HTMLページ内のタグに対してのイベント

    HTMLページ内のタグに対してのイベント getElementsByTagNameで指定したタグの部分(画像やリンク)をクリックすると関数を呼び出すという動作をやりたいのですが、どうも上手くいきません。 試しに下記のようなプログラムを作ってみたのですが、ページを表示した後すぐにalert関数が呼び出されてしまいます。 あるタグの部分を押したときに関数を呼び出すというやり方を知っている方がおられましたら、ご教授願います。 ひとつひとつにIDを割り当てるというやり方でなくて、タグ別にイベントを判定するやり方を考えています。 <html xmlns="http://www.w3.org/1999/xhtml" > <head>   <title></title>   <script type="text/javascript">    window.onload = function ini(){     document.getElementsByTagName("img").onClick = alert("これは画像です");    }   </script> </head> <body>  <img src="..." />  <img src="..." />  <img src="..." />  <img src="..." /> </body> </html>

専門家に質問してみよう