• ベストアンサー

basp21でのファイルアップロード確認画面

BASP21を使用してファイルのアップえロードをしています. 現状で<input type=file>で選択したファイルを submitボタン押下でファイルのアップロードする所までは 期待どうりの動作しています. ここに、アップロード確認画面をつけくわえたいのですが 確認画面でどのようにファイルうけ渡せばよいか分からず困っています つまり、 1.ファイル選択画面   ・ファイル選択   ・submitボタン     ↓ 2.確認画面(アップロードするファイルのパス表示)   ・アップするファイルパス表示   ・submitボタン     ↓ 3.アップロード結果表示画面   (ここで始めてファイルのアップロード)   ということがしたいのです. しかし、2の状態でファイル情報を保持し、 3へ受け渡すのかが分かりません. どうか、お力添えお願いします.

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

  • ベストアンサー
回答No.1

できないでしょう。 ブラウザがそういうことを許さないように実装されてるでしょうから。 もしできちゃえば input type=file にシステムファイル等を初期値で入れたページがわんさかで危険です。 ページを表示したらファイルをアップロードされちゃう。

diolab
質問者

お礼

なるほど・・ 確かにその通りですね.。 状態2でアップロードしておいて キャンセル時に削除するようにします ありがとうございました

その他の回答 (1)

  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.2

3.のアップロード結果表示画面で、アップロードしたファイルの ファイル名やファイルサイズを表示したいということであれば、 http://www.hi-ho.ne.jp/babaq/basp21.html#0090 のサンプルにある通りだと思いますが?

参考URL:
http://www.hi-ho.ne.jp/babaq/basp21.html#0090
diolab
質問者

お礼

ありがとうございます. 質問の意図はういうことではありませんで、 状態2でユーザーがキャンセルした場合、 ファイルがアップロードされないようにしたかったのです。

関連するQ&A

  • Basp21で大きなファイルのアップロード

    ファイルを4つ選択することができる画面があります。 アップロードボタンを押下すると選択したファイルを サーバーにアップします。 inputのnameは、File1~4です。 Basp21のページでは 大きなファイルは、FormSaveAsを複数回呼ぶ と書いてありました。 どんなループを回せばよいのか分かりません。 よろしくお願いします

  • ファイルのアップロード処理を確認画面で確認後にアップロードするようにし

    ファイルのアップロード処理を確認画面で確認後にアップロードするようにしたいのですが、プログラムの書き方がわかりません。確認画面を通さずにやればアップロードできるのですが。どうすればいいのか教えてもらえるとうれしいです。 流れとしては「アップロード画面でファイルを指定」→「確認画面でアップロードボタンを押す」→「アップロード結果画面」です。作成中のソースは以下のようになっています。 ■upload.html(アップロード画面) <html><head><title>アップロード画面</title></head><body> <form action="kakunin.php" method="post" enctype="multipart/form-data"> ファイル:<br> <input type="file" name="upfile" size="30"><br> <input type="submit" value="確認画面へ"> </form></body></html> ■kakunin.php(確認画面)<未完成> <html><head><title>確認画面</title></head><body> <?php $upfile=$_POST['upfile']; print "選択したファイル: $upfile<br>\n"; ?> <br>この内容でよろしいですか?<br> よろしければ「アップロード」ボタンを押してください。<br> <form action="uploadkekka.php" method="post" enctype="multipart/form-data"> <input type="submit" value="アップロード"> </form></body></html> ■uploadkekka.php <html><head><title>アップロード結果</title></head><body> <p><?php if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "uploadfiles/" . $_FILES["upfile"]["name"])) { chmod("uploadfiles/" . $_FILES["upfile"]["name"], 0644); echo $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { echo "ファイルをアップロードできませんでした。"; } } else { echo "ファイルが選択されていません。"; } ?> </p></body></html>

    • ベストアンサー
    • 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の値が入ってしまう=ファイルアップロード失敗) 読みづらい、分かりにくい質問で申し訳ないです。 分かる範囲でけっこうですので、ご協力よろしくお願いします。

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

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

  • ローカルからサーバーへのファイルアップロードについて

    質問があります。 今ホームページを作成しています。 画像をあつかいたいのですが、FTPなどのソフトを使用せずにPHPで作成したWEB画面からローカルの画像を サーバーにアップロードしたいと考えています。 WEB画像はサーバー上にあり、 表示部分<INPUT>と参照ボタンとアップロードボタンが あります。 参照を押下すると自分の使用しているローカルのファイル・ディレクトリ情報があり、エクスプローラーバーが表示されてファイルを選択すると入力画面に 選択されてあファイル名が表示されるようにしました。 それでアップロードボタンを押すと、 WEB画面と同じサーバーの同じ場所に指定したファイルが アップロード(転送)される仕組みにしたいのですが、 どのようにすればいいでしょうか? アドバイスお願い致します。 【PHP:4.02】

    • 締切済み
    • PHP
  • ファイルのアップロードとObjectDisposedException

    お世話になります。 現在ASP.NETで開発を行っており、ファイルのアップロードをINPUTのFile属性のコントロールから行う処理で 一定のサイズ以上のファイルをサーバーにアップロードできないという問題に直面しています。 お手数ですが、皆様のお力をお貸し願えればと思います。 画面は以下のような構成になっています。 一覧メニュー画面 ⇒ メニューから選んだデータの詳細画面 ⇒ファイルアップロード用のポップアップ 処理の仕様としては (1)ポップアップを開き、FileInputコントロールからアップロードしたいファイルを選択し、 (最大5つアップロードできる仕様となっています。小さなポップアップに FileInputコントロールが5つ並んでいるイメージです) ポップアップのOKボタンが押されるとポップアップ画面が閉じます。 ※この地点ではサーバー側にファイルはアップロードされません。 (2)詳細の画面でデータを入力後、確定ボタンを押した地点で ポップアップに入力されたファイルをサーバー側にアップロードします。 (1)から(2)に遷移する際、ポップアップで入力されたファイルのパスを保持するため、 DatatableのインスタンスにHtmlInput型のカラムを作成し、 ファイル名、ファイルパス、ポストされたファイルの情報を保持しています。 その後、ポップアップの画面が閉じると同時に、セッションにデータテーブルを格納し、 詳細画面の確定ボタン押下時にセッションからデータテーブルを取り出し、HttpPostedFileとして宣言した変数に該当するカラムを格納し、 アップロードしています。 この際、ローカルでデバッグする場合には特に問題はないのですが、 Webサーバーにてテストを行うと100kb前後のファイルをアップロードしようとした際に ObjectDisposedExceptionが発生し、アプリケーションが落ちます。 ------------------------------------------------ Dim datatable As New DataTable datatable = Session.item("ポップアップで入力されたFileInputのPostedFileを保持したデータテーブル") For i as integer = 0 to datatable.rows.count -1 Dim posted As HttpPostedFile = datatable.rows(i)("PostedFileが格納されたカラム") If Not posted.FileName = "" Then posted.SaveAs( _ "c:\UploadedFiles\" _ & System.IO.Path.GetFileName(posted.FileName)) End If Next ----------------------------------------------- このような形でコーディングしています。 ObjectDisposedExceptionが発生する地点は恐らくはSave Asの直後です。 (Webサーバーで動かしているためデバッグができません・・・) Save Asの直後に数秒のウェイトを置くとアップロードできるケースも 確認できました。 (ファイルのアップロードが終了する前にオブジェクトが破棄されるために発生しているのかな・・・とも思いましたがはっきりと特定はできていません) 長くなりましたが質問です。 (1)データテーブルにPostedFileを格納し、セッションに入れて データを持ちまわることはできるものなのでしょうか? ⇒50kb前後のファイルならアップロードができることから、 これ自体は問題ないのでしょうが、何か問題があればお知恵をお貸し下さい。 (2)アップロードしたファイルがアップロード完了した。という確認を取ることは可能でしょうか? ⇒サーバー上のファイルサイズとPostedFileのサイズを比較し、 同一サイズなら終了という手段も考えましたが、 サーバー上のアップロードしているファイルはロックされているせいか サイズを読み取ることができません。 ロック状態でも、(または他に何か原因があるのかもしれませんが・・) データサイズが読み取れる手段があればご教示願います・・・。 以上です。よろしくお願いします。

  • 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の書き方が悪いのか、わからないので困っています。

  • ファイルのアップロード

    1.ファイルを選択 2.アップロードボタンで、ファイルをアップロード 3.アップされたファイル名をブラウザに表示 といった処理をするときに、1で選択したファイル名が日本語だと3のとき、正しく表示されません。たとえば飲み会.jpgをアップすると、a_a__aa_a__a__a.jpgと表示されてしまいます。半角英数字だと問題ないのですが・・・ 正しく日本語で表示させるにはどのようにすればいいでしょうか?アドバイスよろしくお願いいたします。 ※アップロードはPEARのHTTP_Upload()でやっています。 ※WindowsXPのIE,Firefox、MacのSafariで使います。

    • 締切済み
    • PHP
  • ファイルのアップロードを簡単に行える画面を作りたい!

    ファイルのアップロードを簡単に行える画面を作りたい! いつもお世話になっております。 WEBシステムで、ファイルアップロードの機能について考えています。 今まではinputタグを使って、ファイルを1つずつアップロードする方法を 行っていました。 が、以前たまたま仕事で触る機会のあったシステムでは、 1.アップロード用画面が表示され、グリッドが表示されている。 2.複数のファイルをグリッドへドラッグ&ドロップする。   グリッドにファイルのパスが表示される。 3.「実行」ボタン押してアップロード完了。 というような素敵な機能がありました。 これと同じようなこと(つまり、複数のファイルをまとめてアップロードしたい) を実現したいのですがどのような手段で実現できるのかが見当がつきません。 (先ほどのシステムも、どの言語・仕組みで作られているのかまではわからないままです) 今のところ、システム自体はVB.NET、Java(+Struts)、PHPのどれかで 構築することを考えています。 アップロード機能の部分だけ、他の言語(およびアーキテクチャ)を利用しないと いけないのかも、という腹積もりも出来ております。 こんな言語(あるいはフレームワーク)で実現できるよ、というものがあれば、教えてください。 よろしくお願いします。

  • BASP21を利用してリネームファイルアップロード

    Set basp = Server.CreateObject("basp21") を利用して、 FilePath = Server.MapPath("../pictures") & "\" & GyoushaBangou & "\" & FilePath leng = basp.FormSaveAs(postData,"UpFile",FilePath) のプログラムを使って、ファイルアップをしてます。 ローカルのデータ画像のアップに際して、同じ画像を上げる事が無いように、ファイル名に日付けなどを付け加え、名前を変えて同じ名前のファイルを上げる事が無いようにしたいのです。 現在の仕組みでは、リネームされない状態でアップロード出来て、アップロードした名前はデータベースに記録されるようになっています。 出来る方法を教えていただけないでしょうか! よろしく、お願いします。

専門家に質問してみよう