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です

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> document.Insert.hiddenFile.SRC =document.Insert.tfile.value;


src であるべき部分が SRC になってますが、これは単なる書き損じでしょうか?
見たところ問題がありそうなのは、そこだけだと思います。

また、測ろうとしてるのは画像ファイルですよね?
画像ファイル以外では、サイズを測ることができませんのでご注意ください。
    • good
    • 0
この回答へのお礼

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

http://www.openspc2.org/JavaScript/NewLib/specia …

お礼日時:2002/02/25 13:48

ブラウザからWWWサーバーにファイルをアップロードするのですよね。



hiddenFileの形式は何でしょう。hiddenですか?それだと、サイズが取れないかもしれません。
document.Insert.tfile.fileSizeを表示してみてはいかがでしょう。

この回答への補足

urizakaです
さて、hiddenFileについての回答が抜けておりました。
hiddenFileは<IMG>タグです

>document.Insert.tfile.fileSizeを表示してみてはいかがでしょう。
つまり<input type="file">タグから直接ファイルサイズが取れるということ
でしょうか?
ちょっと試してみますね。

補足日時:2002/02/21 10:06
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「古い圧縮ファイル」の確認方法

Dドライブのディスクのクリーンアップをしたいのですが、実行できるものが、「古い圧縮ファイル」の削除しかありません。

「古い圧縮ファイル」がどのプログラムかを確認する方法を教えてください。

また、圧縮されたファイルの名前は青くなるらしいのですが、見つかりません。どうしてでしょうか
圧縮ファイルは1G弱あります。

Aベストアンサー

http://www.atmarkit.co.jp/fwin2k/win2ktips/106cleanup/106cleanup.html

初期設定では、50日以上アクセスの無かったファイルに対して、圧縮が行われます。
当然、圧縮してからでないと、ファイル名は青色にはなりませんので、ディスク・クリーンアップでの候補段階では、黒色のままです。


尚、設定によっては青色表示にならない場合も有りますけど。

http://121ware.com/qasearch/1007/app/nec.jsp?005084

Qonmouseover="this.className=をjsファイルにまとめて、指定する場所はid=menu1,2~....かclass=menuで統一したい

<div class="font1 bor1"
onmouseover="this.className=this.className+' bgcol txcol'"
onmouseout="this.className='font1 bor1'">
というものがあったとしてこれを
<div id="menu1・・・2・・・">だけにして
onmouseover=~をjsに略記できるようにしたいのですが
何かいい手はありませんか?

idで指定できる版のほかに
classで指定できる版があるとうれしいです。classだと難しいでしょうか?

また、こちらももしできればでいいのですが、this.classNameを
指定IDのclassName等もできるのでしょうか?

質問に不足があれば答えられる範囲で答えます。よろしくお願いします。

Aベストアンサー

もうひとつ、質問内容を把握できてませんが、
jQueryを使ったサンプルを。中身は
「font1」ってclassを持つ要素のマウスオーバーで
bgcol と txcol の二つのクラスを追加する。
マウスアウトで
bgcol と txcol の二つのクラスを取り除く。
です。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){

$('.font1').hover(function(){
$(this).addClass("bgcol");
$(this).addClass("txcol");
},function(){
$(this).removeClass("bgcol");
$(this).removeClass("txcol");
});

});
</script>

$('.font1') という部分を $('#font1') と書けば id="font1" の要素に対する設定になります。 

jQueryの解説、入手先等は
http://www.openspc2.org/JavaScript/Ajax/jQuery_study/index.html
とか、参考にしてください。

もうひとつ、質問内容を把握できてませんが、
jQueryを使ったサンプルを。中身は
「font1」ってclassを持つ要素のマウスオーバーで
bgcol と txcol の二つのクラスを追加する。
マウスアウトで
bgcol と txcol の二つのクラスを取り除く。
です。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){

$('.font1').hover(function(){
$(this).addClass("bgcol");
$(this).addClass("txcol");
},function(){
$(this).removeClass("bgcol");...続きを読む

Qファイルの圧縮方法

AVIやMPGの画像ファイルを圧縮する方法を教えてください。900mb位のファイルをCD-Rに落とし込める700mbまで圧縮したいんですが。できれば、zipやlzhなどの後で解凍しなくてはいけないような圧縮方法ではなく、多少画像が荒くなってもファイルを単純に縮小させるような方法を教えていただけると有り難いのですが。。
因みに、TMPGEncを試してみたんですが、どうもうまくいかなくて。。ファイルサイズが元のファイルより逆に大きくなってしまうんです。
すいませんが、宜しくお願いします。

Aベストアンサー

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450 450 くらいでカット。
対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331
ではでは!

追伸
カンタンにならrmファイルに変更かなあ
でも画質は落ちますよ
ネット配信 ストリーミング形式でどぞ!
RealplusG2とかRealEncoderで変換
でもaviでもないしmpegでもないですけど、どお?

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450...続きを読む

Q「document.images.src =」についての質問です。

var count = 0;
while(count < 8){
 document.images[nam].src = menu[count].src;
 Wait(200);
 count += 1;
}

javascriptを始めたばかりでソースにまとまりがないので一部の抜粋で申し訳ありません。
「Wait」という関数は引数ミリ秒間ループを繰り返すものです。

上記のプログラムは0.2秒間隔で画像が変わっていく、というもののつもりなんですが、
実際は200*8ミリ秒後にmenu[7].srcで指定された画像に切り替わるだけになってしまっています。
問題があるとしたらどの部分なのでしょうか?
一応ブラウザ上でのエラーは無く、menu配列の中身も確認済みです。

不明な点がありましたら補足要求お願いします。

Aベストアンサー

質問文中のスクリプトについては、具体的な動作がつかめないので、なぜ質問にあるような動作になるのかは、ちょっとわかりません。
Wait()関数の中身も含めたスクリプト全体がわからないことには、どうなっているかつかみにくいです。 こちらのソースを元にして修正するのであれば、スクリプト全体を見直してみる必要があるでしょう。


先の方の回答へのお礼にあるスクリプトの動作についてですが(横槍失礼します)、2点まずいところがあるように思います。
一点は、document.write()メソッドを使っている部分、もう一点はsetTimeout()関数の中で指定している処理内容の記述の仕方が気になります。

エラーの直接の原因になっているのは、ご推察の通りdocument.write()でcountを書き出している点だと思います。 document.write()は、一度ページがロードされたあとに内容を追記するということが、基本的にはできません。 ページロード後にこれを実行した場合、それまでに読み込まれた内容を破棄してその内容を書き出すため、Javascriptの内容もすべて破棄してしまい、動作しなくなるように思います(実行後の停止したページでHTMLソースを表示してみると解りやすいと思います。その時に表示されるソースが、その時点でブラウザが参照しているソースです。)。
できればこの動作は、他のやり方で確認するのが良いと思います。 元の「document.images[name].src = menu[count].src;」で確認してはいかがでしょうか。

あと、setTimeout()の書式ですが、このままだと引数が二回目以降に正常に引き渡されずにエラーになる可能性があると思います。 setTimeout()の第一引数が「"TimerEvent(name)"」と書かれていますが、ここでnameが変数として認識されない(無視される)可能性が残るでしょう。 ここは、イベントハンドラ内で変数を引数とした関数を指定するときと同じような書式に直す必要があります。
具体的には、

setTimeout("TimerEvent('"+name+"')", 1000);

のように、文字列と変数値の扱いを混同されないように修正すると良いと思います。

参考になれば。 失礼しました。

質問文中のスクリプトについては、具体的な動作がつかめないので、なぜ質問にあるような動作になるのかは、ちょっとわかりません。
Wait()関数の中身も含めたスクリプト全体がわからないことには、どうなっているかつかみにくいです。 こちらのソースを元にして修正するのであれば、スクリプト全体を見直してみる必要があるでしょう。


先の方の回答へのお礼にあるスクリプトの動作についてですが(横槍失礼します)、2点まずいところがあるように思います。
一点は、document.write()メソッドを使っている部...続きを読む

Qファイルの圧縮方法が解りません

窓の杜やベクター等に置かれている、フリーの圧縮、解凍ソフトをダウンロードしていますが、テキストファイルや、画像ファイルの圧縮方法が解りません。何方か教えて頂けませんか?

Aベストアンサー

ソフトの開発者のサイトで質問することをお奨めします。

ソフトごとに操作方法が異なりますので、使用しているソフト名すらない状態では誰も必要とする回答を出せません。

窓の杜やベクターでは開発者のサイトへのリンクがありますから、そこからアクセスできますよ。

Qdocument.writeをinput type="text"の value値に

超初心者です。
下記の式にてPHPよりjavascriptにてHTMLに書き出しできましたが
<script type="text/javascript" src="./jsphptest.php?long=3" ></script>この値をHTMLのinput type="text"の value値にデフォルトとして入れたいと思っていますが、どうすればできるのか分かりません。できればボタン等を介さずページをロードすればこPHPからjavascriptのdocument.write値がvalue値に入って欲しいと思っています。簡単なようで難しいことなのでしょうか?どうかご教授よろしくお願いいたします。

Aベストアンサー

それからどうでもいいけど
htmlのタグの順番が適当ですね。

Qpsdファイルの圧縮方法

psdファイルの圧縮方法を教えてください。(基本的質問で恐縮ですが)
win98です。なお、ファイルは9MB程度ですが、圧縮したものを解凍する際、鮮明度が落ちずに元通りの画像で開けますでしょうか?

Aベストアンサー

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (デフォルトでは 1.2MB を上限として分割される。)
   (このサイズは +Lhaca で変更できる。)
 5. (4)のファイル全てを、容量を超えないようにメールに添付して送信
   する。
   (添付ファイル総数を本文に明記すること。)
 6. 受け取った側は、全ての添付ファイルを一箇所に集めて、バッチファ
   イルを実行する。
   (操作手順は、本文に明記すること。)
 7. 分割されたファイルが結合されるので、結合された圧縮ファイルを解
   凍する。
 8. 9MBのファイルが解凍されるので、作業する。


これでどうかな!?

※他の圧縮ソフトも分割機能が備わっていると思うが・・・

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (...続きを読む

Qネスケではdocument.main.日本語.valueは絶対だめ?

下記のように日本語のテキストボックスの場合、ネスケではエラーになってしまいますが、日本語のままでできる裏技はないものでしょうね・・・。

function zipsearch()
{
n = document.main.郵便番号.value;
subWin = window.open('zipsearch.cgi?zip=' + n ,"zipsearch","width=300,height=100")
}

Aベストアンサー

それ以前にNetscape以外でも日本語は使わない方がいいですよ。
ただでさえ日本語処理にはバグや妙な仕様が多いですから。

どうしても日本語を使いたいのなら、属性名ではなく、値の扱いをすればなんとかなるのではないでしょうか。
n = document.main["郵便番号"].value;
ただ、どちらにせよこのCGIにGETメソッドで渡す動作はうまくいかないと思います。
nの内容がURLエンコードされませんので。

このエンコードに関することは、ブラウザに任せるのが最良、というのが私の意見です。
JavaScriptでもescape()やencodeURI()等の一見使えそうな関数がありますが、
実は文字コードの問題でうまく動作しません。
なので、既存のフォームと異なる動作を実現する場合にはFORMを動的に生成する、等の手法が必要になります。
単にFORMを新しいページにsubmitしたいのであれば、HTMLの記述で
<FORM target="_blank ...>
とすればOKです。

QNTFS圧縮したファイルを全部まとめて戻す方法

NTFS圧縮したファイルをプロパティからひとつひとつチェックをはずして戻すのではなく、圧縮されたファイルを全部まとめて元に戻す方法ってあるのでしょうか?

Aベストアンサー

圧縮を解除したいファイルを全て選択した状態で
→プロパティ→NTFS圧縮のチェックを外す→OK

それらのファイルがフォルダに入っているなら
フォルダのプロパティからやってもいい。
(サブフォルダにも適用するか尋ねられるからOKにする)

Qif(document.all && navigator.appVersion.indexOf('Mac')!=-1)returnの意味

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ、で、falseが返されるのでしょうか?
しかし、そもそもnavigatorオブジェクトはブラウザの種類のことではないのか?と混乱してしまっています。
また、document.allがどのような役割を果たしているのかも分かりません。なぜここでdocument.allが出てくるのでしょうか?

どなたか分かる方いらっしゃいましたら、ご教授宜しくお願いします。

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ...続きを読む

Aベストアンサー

「document.all」は昔はIEにだけ存在するオブジェクトだったのでIEであるかどうかの判定に使われました。

今ではOperaやNetscape等でもIEへの互換の為に存在するのでIEかどうかの判定に使われる事は減ってきています。
IEであるかどうかの判定ではなく、純粋にdocument.allが在る(使える)かという判定にはもちろん使用されますが。

「navigator.appVersion」は確かにブラウザの種類なんですが、実際にはOS名も含まれていたりすのでOSの判定にも使われたりします。

また、 != -1 というのは indexOf関数の結果が 0~なら文字列が見つかったという意味(真偽ではなく、見つかった位置を返す関数)になるのでこういう比較式を使用しています。
(1でなかったらMacユーザという解釈はちょっと違います。)

参考URL:http://www.openspc2.org/JavaScript/ref/


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング