• 締切済み

ファイルアップロードの進捗状況

4つのファイルを選択しサーバーにアップロードする画面を 作成しています。 ファイルサイズが大きいので進捗状況を 「1/4」のように画面に出力させておきたいと考えています。 しかしどうやったらできるのかさっぱりわかりません。 よろしくお願いします。

みんなの回答

  • Yohjira
  • ベストアンサー率66% (14/21)
回答No.3

プログレスバーのAjaxは見つかった、とのことなので。 そのサンプルはおそらく、進捗状況の数値を出力してますよね。(~%、みたいに) 不要な処理は削除してしまって、進捗状況の数値の出し方を変えればいいのではないでしょうか。 (進捗率25%までなら1、50%までなら2、のように)

taku_pon
質問者

お礼

ありがとうございます。 挑戦してみます。

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

HTMLでできることはありません。 サーバー側の処理である程度できるかもしれません。

全文を見る
すると、全ての回答が全文表示されます。
  • Yohjira
  • ベストアンサー率66% (14/21)
回答No.1

恐らくHTMLだけでは無理だと思います。 例えば、何らかの方法でサーバ側で処理を行い、それをAjaxを使って表示するなどが必要かなと。 動作環境などを提示していただければ、他の方もアドバイスしやすいと思います。

taku_pon
質問者

補足

Ajaxも検討してみます。 良いサンプルサイトをご存知でしたらお願いします。 プログレスバーのAjaxは見つかったのですが 要件を満たすものは見つかりませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイルをアップロードさせるには?

     自宅にある古いパソコンをサーバーパソコンにし、ファイルサーバーを構築したく、ただいま奮闘中です。  サーバーにあるindex.htmlをホームページとしてインターネット上に公開できたまではいいのですが、そのページからリンクしてあるアップロードページの作成で行き詰まりました。  Yahoo!のブリーフケースにあるアップロードページのように参照ボタンがあり、それをクリックするとダイアログが開き、アップロードするファイルを選択。最後にアップロードボタンでアップロード開始というものにしたいのですが、どのようにすればいいのかわかりません。  作成ソフトはホームページZEROを使っており、下記のボタンを作成してあります。が、ボタンがあるだけで、機能していません。  アップロードするファイルの選択画面を開くようにする方法と、それをアップロードするようにする方法を教えてください。

  • 進捗状況の使い方

    進捗状況の使い方 データのコピー作業状況を報告するメールで 私が「~.logの進捗状況を報告致します」とメールで送信したら、先輩から「~のコピー作業の進捗状況を報告致します。参照ファイルは~.logになります」との説明が正しいと指摘されました。 確かに後者の説明が自然ですが、私の説明はそこまで日本語としておかしいのでしょうか?

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

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

    • 締切済み
    • PHP
  • Basp21で大きなファイルのアップロード

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

  • ファイルのアップロードと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のサイズを比較し、 同一サイズなら終了という手段も考えましたが、 サーバー上のアップロードしているファイルはロックされているせいか サイズを読み取ることができません。 ロック状態でも、(または他に何か原因があるのかもしれませんが・・) データサイズが読み取れる手段があればご教示願います・・・。 以上です。よろしくお願いします。

  • ファイルのアップロードに関して

    こんにちは。お世話になっております。 レンタルサーバー上で、ファイルのアップロード画面を作成中なのですが、2MBまでアップロードできるよう下記のように設定しているんですが、300KB(原因はココではないかも知れませんが・・)辺りを境に、アップロードできずに、送信ボタンを押した後、しばらくした後『Internet Explorer ではこのページは表示できません』という表示が出てきてしまいます。 スクリプト側の設定は <input type="hidden" name="max_file_size" value="2000000" /> ちなみに、phpinfoで確認したところ、 max_execution_time 60 post_max_size 100M upload_max_filesize 100M という設定にはなっております。 ローカル上では問題ないのですが、原因は何が考えられるのでしょうか?これはどのような状態になっているか想像だけでも結構です。 お忙しい中恐縮ですが、ご指導いただければ幸いです。宜しくお願い致します。 ※ローカル上ではphp5ですが、レンタルサーバーではphp4になっています。

    • ベストアンサー
    • PHP
  • IE8で大きいファイルのアップロード

    サーバー:Tomcat6 クライアント:IE8、IE9 IE8で社内のサーバーに大きいファイル(2GB以上)をアップロードすると 一瞬でInternet Explorer ではこのページは表示できません となります。 またTomcatのログは一切出力されません。 IE9だと2GB以上でもアップロード可能です。(IE8で落ちるサイズでもアップロード可能) 恐らく通信前にIE側で落ちてると思うのですがIE8の設定でしょうか。 IE8での検証は複数のクライアントでしましたが同様でした。 また同様のアプリケーションをサーバーに設置し検証しましたが、同様でした。 よろしくお願いします。

    • ベストアンサー
    • Java
  • HTTPでファイルをアップロード

    ASPとHTMLで、ブラウザからファイルを選択してアップロードするページを作成しているのですが、以下の条件を満たすページは作成可能でしょうか。 【FTPではなく、HTTPでファイルを転送する】 【CGIは使わない】 ※サーバーはIISです。 いろいろと試行錯誤しながら試してみたのですが、うまくいきません。 何かご存知の方いらっしゃいましたら、教えてください。

  • PHPで音楽ファイルのアップロード

    ファイルをHTMLのINPUTでファイルを選択し、 アップロード後、メールに添付して送信を行おうとしているのですが、 音楽ファイル(weve,mp3等)がアップロードできません。 画像ファイルはアップロード・添付してメール送信できるのですが、音楽ファイルは使用する関数等が 異なるのでしょうか? $uploadfile1_size = $_FILES['uploadfile1']['size']; $uploadfile1_name = $_FILES['uploadfile1']['name']; $uploadfile1_tmp = $_FILES['uploadfile1']['tmp_name']; $uploadfile1_tmpを出力しても何も表示されないため、アップロードからできていないと思いますが分かりません。 どうか教えて下さい。よろしくお願いします。

    • 締切済み
    • PHP
  • ファイルのアップロードについて

    PERLでファイルのアップロード機能を作成しています。 アップロードと言っても、サーバへのコピーではなく、 データベースへバイナリで格納しなければならないのです。 とりあえず2パターン作成してみたのですが、 OPEN関数を使ってやるとうまくいきません。 -----パターン1(OPEN関数使用)------------- $query = new CGI; $filename = $query->param('msds'); # ファイル名(フルパス)取得 if($filename ne "") { open(ATT, $filename);# or die "Could not open atachment file:"; binmode(ATT); while($bytesread = read(ATT, $buffer, $BUFSZ)){ $file .= $buffer; # ファイルサイズ制限 $file_size ++; if($file_size > 300){ exitError("ファイルサイズが大きすぎます。600KB 以下にして下さい。"); } } close(ATT); } -----パターン2(OPEN関数未使用)------------- $query = new CGI; $filename = $query->param('temp1'); # ファイル名(フルパス)取得 if($filename ne "") { while($bytesread = read($filename, $buffer, $BUFSZ)){ $file .= $buffer; # ファイルサイズ制限 $file_size ++; if($file_size > 300){ exitError("ファイルサイズが大きすぎます。600KB 以下にして下さい。"); } } print "FILE DATA:" . $file . "<BR>"; } パターン2でprint $fileをすると、ファイルの内容が 画面表示されるのですが、パターン1だと、While文に 入ってくれませんでした。 原因がさっぱりわかりません。。。 お分かりになる方が見えましたらご教授願います。

    • ベストアンサー
    • CGI