• ベストアンサー

ファイル名入力フィールドのデフォルト値

ファイルをアップロードして分析するCGIを作成しているのですが、ファイル名入力フィールド(input type="file")に、デフォルトのファイル名を表示させるにはどうしたら良いでしょうか?

  • CGI
  • 回答数1
  • ありがとう数5

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

HTMLの仕様としてinput type="file"に対しては初期値を設定することはできません。(javascript等による値の操作もできません。) セキュリティの観点から、アップロードするファイルは必ずユーザーの意思/操作で選択されたものとなるようにしているようです。

astronaut
質問者

お礼

明確な回答ありがとうございます。 「できない」ということが分かり、スッキリしました。 セキュリティの観点…よく考えたら、そりゃそうですね。

関連するQ&A

  • ファイルメーカーのフィールドにデフォルト値を設定したいのです

    教えてくださいませ。 ファイルメーカーのフィールドに値一覧で作成しました値がありデフォルトを設定してます。 例)今日 明日 明後日  デフォルト値:明日 しかし、新規データとして入力する場合しかこの機能が働きません。やりたいのはcsvでデータを取り込んだときにも自動で表示させたいのですが・・・ そんなことってできます? すいませんがおしえてくださいませm(_ _)m

  • Firefoxファイル名入力フィールドについて質問です。

    Firefoxファイル名入力フィールドについて質問です。 Firefox3.0から、ファイル名入力フィールドの手入力ができなくなっています(input type="file")。 これについて調べると、色んなサイト(Bugzilla、質問掲示板、個人サイトなど)で「セキュリティの為」と書いてあります。 多くの人がそう言っているので、セキュリティの為なんだろうとは思うのですが 各個人が言っているレベルなので、正式なものを確認したいと思っています。 Firefox側が「セキュリティの為」と記述しているところを御存知の方いらっしゃいませんでしょうか。 IE8も入力不可のようですが こちらについては、http://msdn.microsoft.com/ja-jp/ie/dd552064.aspx#09 で確認しました。

  • PC内の画像(のみ)ファイルを参照するにはどうしたらよいでしょうか

    <form> ... <input type="file" name="xxx"> ... </form> で入力用フィールドと参照ボタンが出てきて、参照ボタンを押すとPC内のファイルが参照できるようになると思います。 この時、デフォルトは「全て」だと思います。 ここで質問なのですが、デフォルトを「画像ファイル」にするにはどういう風に記述すればよいのか教えていただけないでしょうか。

    • ベストアンサー
    • HTML
  • cgi.pm を使用してファイルUP時にtextエリア等の情報もcgiに引き渡す

    何度もPerlのところで質問していますが・・・今回は ファイルのアップロードをするときに少々もんだいが出てきてしまうことについてです。<input type="file"... を使います 以下の二つのファイルで構成しています(一部分だけ) ---form.html--- <form action="upload.cgi" method="POST" ENCTYPE="multipart/form-data"> <textarea name="input_textarea" rows="20" cols="70"></textarea> <input type="file" name="File" size=32> <input type-"submit" value="ok"> ---upload.cgi--- [formからの情報を配列変数に代入するスクリプト・・・] use CGI; $query = new CGI; $filename = $query->param('File'); # ファイル名の取得 $type = $query->uploadInfo($filename)->{'Content-Type'}; 同じファイル名が無いことを確認して、保存 という処理を行っています。upload.cgiの中身がとぼしくて申し訳ありません。 かなり省略してます。 さて、、問題となるのは ENCTYPE="multipart/form-data" とすると 配列変数にFORMからの情報がうまく入ってくれないということです、 かといってENCTYPE="multipart/form-data"を外すと CGI.pm を使った ファイルのアップロードができなくなってしまいます。 ENCTYPE="multipart/form-data" のオプションをつけて 配列変数にテキストエリアの内容を入れるにはどうすればいいのでしょうか。 テキストエリアを取り除くとファイルのアップロードはできます。 ただ、ファイルと入力したテキストを同時に処理することができないんです。

  • アップロードされてきた画像ファイル

    フォームからアップロードされてきた画像ファイルを、適当なファイル名を付けてJPGあるいはGIFの拡張子で保存し、HTMLファイルで保存した画像を一覧表示させようというCGIスクリプトを作りたいと考えています。 <FORM action="xxxx.cgi" method="post" enctype="multipart/form-data"> <INPUT type="file" name="gazo"> <INPUT type="submit"> </FORM> とこんな具合のフォームから画像ファイル(JPGやGIF)をアップロードした時、 受け手のxxxx.cgiでは、この画像ファイルのデータをどのように受けたらよいのでしょうか? cgi-lib.plを読み込んで、$in{'gazo'} というような形で画像ファイルのデータを受け取ればよいのでしょうか?

    • ベストアンサー
    • CGI
  • jQueryでファイルアップロード

    お世話になります。 jQueryでファイルアップロードの処理をしたいのですがやり方を教えて下さい。 Googleで検索すると色んなプラグインが出てくるのですが全体像がわからない為上手く動作してくれません。 やりたいのは、入力画面-->確認画面-->結果確認画面と遷移させてファイルをアップロードする処理です。 <画面仕様> (1)入力画面 ・氏名等の入力とアップロードするファイルの選択 ・アップロードファイルサイズのチェック (2)確認画面 ・入力画面で入力した内容の確認 ・アップロードするファイルの確認(個数、合計サイズ) (3)結果確認画面 ・アップロード処理結果の確認 ※実際のアップロードが入力画面でファイルを選択した直後に行われても構わない 嵌っているのは、入力画面でFORMのonsubmitと<input type="file">の両方を同時に設定できない事です。 FORMのonsubmitでは入力内容のチェックを、<input type="file">ではファイルのアップロードを行い、アップロードしたファイル名を隠しフィールドで確認画面に送りたいのですが、個々に指定するとそれなりに動くのに両方指定するとsubmitが優先されてしまい、<input type="file">のchengeイベントが動きません。 どうしたら良いかご教示下さい。 中途半端なソースですが、入力画面で私がやりたいことをコードにしてみました。 よろしくお願いします。 $(function() { $('#fileId').change(function() { $(this).upload('upload.php', function(res) { $(res).insertAfter(this); }, 'html'); }); }); <form id="form1" name="form1" action="confirm.php" method="post" enctype="multipart/form-data" onsubmit="return error_check();"> <input type="file" name="upload_file1" id="fileId" />

  • firefoxでファイルアップロードのテキストに入力できません

    firefoxでは input type = file で実装されているファイルアップロード部品の テキストフィールドをクリックしたら ファイルを選択する小窓が開きます。 IEではテキストフィールドに 直接入力できるのですが これはセキュリティ的な理由でこうなっているのですか? またそれに関する参考文献などございましたら 教えていただけないでしょうか?

  • FirefoxでFormのfileでファイルのパスが取得できない

    フォーム<form>内のファイル名入力フィールド<input type="file">をPOSTで取得すると、IE6では「パス名:ファイル名」が取得されるのですが、Firefox2.0では「ファイル名」しか取得できません。 FirefoxでもIEと同様に「パス名:ファイル名」を取得するにはどうしたらよいでしょうか? 例えば、デスクトップに「a.txt」ファイルがあれば IE6では「C:\\Documents and Settings\\Administrator\\デスクトップ\\a.txt」 Firefox2.0では「a.txt」 と表示されます。 FirefoxでもIEと同じようにするにはどうすれば良いでしょうか? よろしくお願いします。 以下はソースです。 ---------------------ソース-------------------------------- <html> <body> <form method="post" action="<?=$_SERVER["PHP_SELF"]?>"> <input type="file" name="file"> <input type="submit" name="Submit"> </form> <?php echo $_POST['file']; ?> </body> </html> ---------------------ソース--------------------------------

    • ベストアンサー
    • PHP
  • ファイルフィールドの「参照ボタン」の色指定は可能?

    ファイルフィールド(<input type="file">)の「参照ボタン」に、色の指定はできるのでしょうか?ご存知の方は、よろしくお願いします。

  • 入力ファイルのデフォルトの設定

    下のソースは入力ファイルの内容が例えば、 1 2 3 4 5 6 7 8 の時にその内容を出力するものです。 入力ファイル名がinput.datの場合、プログラム実行後にinput.datと入力し、Enterを押します。 このプログラムにinput.datをデフォルトとし、空Enterで入力を実行できるようにしたいと考えています。 入力ファイル名がinput.datでない場合は従来通りファイル名を入力してEnterを押すようにします。 この場合、どのようにソースを変更すればよいでしょうか。お手数ですが、教えてください。よろしくお願いします。 #include <stdio.h> #include <stdlib.h> int main(){ int i,N=0,data[10]; char ifile[20]; FILE *fp; printf("input file name: "); scanf("%s",ifile); if((fp=fopen(ifile,"r"))==NULL){ fprintf(stderr,"input file error\n"); exit(1); } while(fscanf(fp,"%d",&data[N])!=EOF && N<10){ N++; } printf("Total Number of Data = %d\n",N); for(i=0;i<N;i++){ printf("%d\n",data[i]); } fclose(fp); return 0; }

専門家に質問してみよう