• 締切済み

ファイルのアップロードについて

初めて投稿させていただきます。 今、WindowsNT4.0+SP6,IIS+ASPでファイルのアップロードを考えています。 調査している中で、basp21を使用してファイルをアップロードするところまでわかったのですが、その後すこしつまずいています。 basp21を使用してファイルを送信する場合、HTML上に<input type="file" name="strName">というタグを明記し、ファイルを送信する場合には、このタグに該当するファイルの絶対パスを明記するとは思うのですが、これを固定のファイル名にしたいのです。 試したこととして<input type="file" name="strName" value="c:\test.text">という形で明記しましたが、表示されませんでした。 ブラウザーはIE6.0およびNetscape 6.1を使用しております。 よろしくお願いします。

みんなの回答

  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 type="file"では、セキュリティ上、valueは設定できないことになっていたと思います。 JavaScriptでもダメだと思いますよ。

mar0325
質問者

お礼

ありがとうございます。 設定できるように書いてあった本もあったのですが。。 実際、開発してみてできないので、どうしてかなと思っていました。 これで確信がもてました。

関連するQ&A

  • BASP21のファイルアップロードでエラー

    IIS7.0の環境にBASP21をインストールして、ブラウザからのファイルアップロードを処理しようとしています。BASP21は、BASP21-2003-0211.exe をインストールしました。 症状は、ブラウザ(MSIE 7.0.5730.13)からファイルアップロードをすると、うまくいくときもあるし、うまくいかないときもあるという感じです。 うまくいくときは FormSaveAs でファイルが保存され、そのファイルを読み出して処理することができます。 うまくいかないときは FormSaveAs が -2(名前が見つかりません)を返し、ファイルが保存されません。 HTMLのフォームの部分は以下のようになっています。 <form enctype="multipart/form-data" method=POST action="upload1.asp"> <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> ファイル名:<input type="file" name="userfile" size="60"><br /> <input type="submit" value="ファイルを送信"><br /> </form> 同じファイルを何度も送信して試してみたところ、a = Request.TotalBytes のところで、a にセットされる値が変わることがわかりました。 テストに使ったファイルでは、うまくいくときは 818 になり、うまくいかないときは 821 になりました。ファイルそのものは 413 バイトなので、付加されるヘッダ情報に違いがあるのではないかと思いました。 そこで、パケットモニタを使用して送信されるデータを見てみたところ、boundary= の後ろに指定される文字の長さによって動きが変わってくるように見えました。 マイナス連続の後ろが 7d934f3211530(13文字)→NG マイナス連続の後ろが 7d9274d11530(12文字)→OK 送信フォームの中にはパーツが2つあり、末尾のboundaryも含めて3つになりますので、1文字違うと合計で3バイト違ってきますので計算は合います。 このあたりの情報は、どこかにないでしょうか?BASP21の使い方が悪いのか、HTMLやASPの書き方が悪いのか、わからないので困っています。

  • Mac・Winでファイル名チェック後アップロードしたい

    ryouchiです。 現在下記環境でWebブラウザよりファイルのアップロードを行うサーバアプリケーションを作成しています。 --- Webサーバ:WindowsNT4.0 SP4+IIS4.0+ColdFusion4.5 クライアント:  Windows 95/98/ME/NT WorkStation   InternetExplorer(4.0/4.5/5.0/5.5)   Netscape Communicator 4.7  MacOS 8.1/8.6/9.04   Netscape Communicator 4.7 --- Macでは「:」はディレクトリセパレータとしてシステムが利用しているので「:」を含むファイル名は使えません。 Windowsでは「/」「\」・・・などは使えません。 NTサーバが認識不可能なファイル名のついたMacのファイルをアップロードする際に、<input type="FILE">で選ばれたファイルがWindowsまたは、Macで使えないファイル名ならばJavaScriptでチェックしアラートを表示するようなことは可能でしょうか? また、<input type="FILE" name="fname">でファイルを選択したとき、このfnameのvalueには絶対パスが入ると思うので単純にvalueの値に未使用の文字が使われているという判断では不十分です。 Macから「Macintosh HD:12/1データ_1.doc」というフォルダ下にあるファイルは「/」が含まれているため送信できないようにしたいのですが、上記のvalueの判断のみでは、「Macintosh HD:12/1フォルダ:データ_1.doc」というデータも絶対パス内に/が入っているため送付できません。 またサーバ内では送信したファイル名はクライアントのマシンで付いていた名前を利用したいので、サーバ側で適当な名前をつけることは考慮しません。 要するに<input type="FILE">を用いたファイルアップロードの際、Mac・Winのどのブラウザからでも送られるファイル名をチェックし、問題のあるファイル名ならば送信できない(アラートを表示)したいのです。 有識者のかた、よろしく御教授ください。

  • 複数ファイルのアップロードについて

    お世話になります。 現在aspで、前画面で指定されたファイルのアップロードを行っています。 単一ファイルの場合、前画面で <input type=file name=upfile>で指定したファイルを Basp21をのFormSaveAsを利用してアップロードしているのですが、 複数ファイルをアップロードする必要がありまして、 現在ファイルの選択にはselectボックスを利用しています。 selectボックスに指定されたファイルパスは取得できているのですが、typeがfileではないのでアップロードが出来なくなってしまいます。 どうにか他の手で解消できないでしょうか? DFILEUPも同じくダメでした。。。 ご存知の方、ご助言お願いします。 --環境-- winXP asp IIS --------

  • ファイルのアップロードができません

    今日始めたばかりの初心者です。 PHPだとCGIに比べ、ファイルのアップロードとか画像の処理が簡単に行えそうなのでチャレンジしてみたのですが、いきなりつまづいてしまいました。 とりあえずファイルをアップロードしてみようと思い、下のようなサンプルをアップロードしてみたのですが、さっぱり動きません。 適当なjpgファイルをアップロードすれば、スクリプトのあるディレクトリに”aaa.jpg”という名前で保存すると思うのですが…。 最後の”var_dump($_FILES);”という命令で、アップロードされたファイルの内容を表示させてるはずなのですが、ファイル送信前も後も”array(0) {}”としか表示されません。 PHPのバージョンは4.34です。 どなたかご教授お願いします。 ************************ <form enctype="multipart/form-data" method="post"> Upload File:<input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <pre> <?php if (!empty($_FILES)) { move_uploaded_file($_FILES['userfile']['tmp_name'],'aaa.jpg'); } var_dump($_FILES); ?> </pre> ************************

    • ベストアンサー
    • PHP
  • PHP用ファイルアップロード機能について

    ドコモ端末でPHPのファイルアップロード機能を使えるようにしたいのですが、どのようにすればいいでしょうか? ちなみに、vodafoneならこの機能が使えます。 ドコモ端末で下のソースにアクセスすると、 ファイルを参照するボタンが見えず、ファイルをアップロードできません。 HTMLはキャリア毎に使えるタグがあるのは知っていますが、下のソースの場合はどのように変更すれば良いのでしょうか?ご教授下さい。宜しくお願いします。 #ソースはコレです。 <form method="post" action="upload_save.php" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" /> <input type="file" name="upload_file" size="70"><br /> (上書き禁止) <input type="checkbox" name="forbidden" value="1" checked /> <input type="submit" value="アップロード" /> </form> #ファイル自体はphpですが、中身はほぼHTMLに関する質問になってしまい、申し訳ありません。

    • ベストアンサー
    • PHP
  • 同じファイル内で、アップロードとアップロードされたファイルの処理をすることについて

    OS:Window XP Pro 開発環境:Xampp(Apache + PHP + Mysql) 現在ファイルをアップロードする処理を書いているのですが、 この処理を 1)a.phpでファイルをアップロードする処理 2)b.phpでアップロードされたファイルの処理 と分けて、コーディングするのではなく 1)a.php内にファイルをアップロードする処理とアップロードされたファイルの処理を一緒に記述する という風にできないかと思いましたので、 以下のようなコードを書いたのですが $_FILES['upload_file']['tmp_name']) の値を調べてみたところ、なんの値も 入っていなかったことから このコードでは、二つの処理を一つのファイル内に書くことが でいないようでした。 どうにかしてひとつのファイル内に この二つの処理を同居させることはできないのでしょうか? a.php --------------------------------------- switch($action) { case "update": if(is_uploaded_file($_FILES['upload_file']['tmp_name'])) { $upload_file = $_FILES['upload_file']['tmp_name']); if(file_exists(dirname(__FILE__)."/profile_phote/") == TRUE) { $phote_name = dirname(__FILE__)."/profile_phote/".$upload_file; } else { mkdir(dirname(__FILE__)."/profile_phote/"); $phote_name = dirname(__FILE__)."/profile_phote/".$upload_file; } move_uploaded_file($_FILES['upload_file']['tmp_name'],$phote_name); "リダイレクト処理・・・" case ... case ... default: <form name="profile" action="" method="post"> <input type="file" name="upfile"> <input type="hidden" name="action" value="update"> </form> }

    • ベストアンサー
    • PHP
  • ReadParseを使ってのバイナリファイルのアップロード

    ファイルをアップロードするCGIを作ろうと思い、以下のように書いてみました。そうしたところテキストファイルのアップロードには成功しましたが、バイナリファイルだとアップロード出来ても開けなかったり、画像が崩れてしまったりしてしまいました。 何故バイナリファイルだとアップロードが失敗してしまうのかわかりません。どこを直せば良いのでしょうか。 よろしくお願いします。 ----------------------------------------------- フォーム <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="xxx.pl"> <INPUT TYPE="file" NAME="file"> <INPUT TYPE="submit" VALUE="アップロード"> </FORM> ------------------------------------------------ xxx.pl &ReadParse(*in, *f_name, *f_type); $f_name{'file'}=~/([^\\\/]+)$/; $filename = $1; open(IN, ">$filename"); print IN $in{'file'}; close(IN);

    • ベストアンサー
    • CGI
  • javascriptでファイルを指定してアップロードができません

    ファイルのアップロード機能を実装したいのですが <input type="file" />タグは画面に表示したくありません。 そのため「アップロードファイルを指定」ボタンを押すとダイアログが開き ユーザがファイルを指定するよう実装してあります。 以下のコードを書いたのですが「指定しない」ボタンでは正常に動作しましたが 「アップロードファイルを指定」ボタンでは、アクションも呼ばれませんでした。 これは何が問題なのでしょうか? 教えていただけると助かります。 もしかして、javascriptから<input type="file" />を触る場合の セキュリティ制限でしょうか? /**************** 環境 ****************/ jquery 1.3.2 php 5 ie7 /**************** html ****************/ $(document).ready(function(){ $('#btnyes').click(function() { var oldval = ''; $('#fileUpload').click(); // パスが指定されればpost if($('fileUpload').val() != oldval) { execSubmit(); } }); }); function execSubmit() { $('#formBeforeEdit').submit(); } /**************** javascript ****************/ <form name="formUpload" id="formUpload" action="/xxx/xxx" method="post" enctype="multipart/form-data"> <input type="button" name="yes" id="btnyes" value="アップロードファイルを指定" /> <input type="button" name="no" id="btnno" onclick="execSubmit();" value="指定しない" /> <input type="hidden" name="MAX_FILE_SIZE" value="10485760" /> <input type="file" name="fileUpload" id="fileUpload" style="display: none;"/> </form>

  • ファイルアップロードを教えて下さい。

    お世話になります。 php初心者です。 初歩的な質問になると思いますが… ローカルでファイルのアップロードのスクリプトの練習をしてるのですが上手く行きません。 アップロードしたファイル名が全て同じになります。 ディレクトリ構成として htdocs  ├128.php  └phpbook(ディレクトリ)    └128-2.php ■128.phpの中身 <form action="./phpbook/128-2.php" enctype="MULTIPART/FORM-DATA" method="POST"> ファイル:<input type="FILE" name="upfile"> <input type="submit" value="アップロード"> </form> ■128-2.phpの中身 <?php if(move_uploaded_file($_FILES['upfile']['tmp_name'], "./htdocs/phpbook/") ==FALSE){ print "失敗しました。"; }else{ print ($_FILES['upfile']['name']); print "をアップロードしました。"; } ?> アップロードは出来てるのですが、phpbookディレクト内にphpbookという拡張子が何もついてないファイルがアップロードされてしまいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • BASPでのファイルアップロード

    お世話になります。 win2000でBASPを使って、ファイルのアップロードを行うプログラムを製作しています。 一つ目のASPファイルでアップロードするファイルを選択し、 これをSubmitして二つ目のASPファイルでファイルアップロード作業をするものです。 ネスケ6.2ではformsaveasが正常に動作したのですが、IEやネスケ4.7などではformsaveasが上手く働いてくれません(後述)。 できることなら保有するブラウザ全てで正常に動かしたいです。 しかし色々試したり調べたりしましたがどうしても自分だけの力では無理でした。 下記で二つ目のASPファイルで行う必要最低限のアップロード作業部分を載せました。 他にも載せようとしたら文字数オーバーだったので、ご容赦ください。 この保存作業部分で明らかに足りない何かがあったりしたら、そこをご指摘いただければ助かります。 Datasize = Request.TotalBytes B_Data = Request.BinaryRead(Datasize) Set objB = Server.CreateObject("basp21") strPath= "C:\test\" strname = objB.formfilename(b_data,"f_file") errno = objB.formsaveas(b_data,"f_file",strpath & strname) (この時点でerrnoに-3の値が入ってしまう=ファイルアップロード失敗) 読みづらい、分かりにくい質問で申し訳ないです。 分かる範囲でけっこうですので、ご協力よろしくお願いします。