Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

.NETでファイルアップロード機能を持ったWebページを作る

File Upload 1.0JのFile Uploadコントロールを使ったWebページの作成

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/05/21 14:00
目次

File Uploadコントロールについて

 File Uploadは、Ajax機能を搭載したWebアプリケーション用のファイルアップロードコンポーネントです。ポストバックを発行しないため、ページ全体を再描画することなく、Webサーバにファイルをアップロードできます。また、プログレスバーやファイルサイズ、アップロード時間の表示など、リアルタイムでアップロード状況を確認できる機能を提供し、複数ファイルの一括アップロードにも対応しています。

 コントロールの基本的な機能を使うのであれば、コードの記述は必要ありません。すべてコントロールが自動的に行ってくれます。コントロールの外観やフォルダの指定などは、プロパティの設定で行います。

 File Uploadコントロールは、次の3つのコントロールで構成されます。

Uploadコントロール

 ファイルをWebサーバにアップロードするコントロールです。フォームに配置すると、アップロードするファイル名を入力するエリアと、ファイルを選ぶダイアログボックスを表示するボタンが表示されます。

UploadManagerコントロール

 Upload、ProgressPanelの各コントロールと連動して動作し、アップロード処理を行う非表示のコントロールです。GUIは持ちません。

ProgressPanelコントロール

 アップロードの進行状況に関するデータをリアルタイムに表示するコントロールです。ファイルのアップロードを開始すると表示されます。

3つのコントロール
3つのコントロール

Uploadコントロール

 Uploadコントロールは、AutoPostbackプロパティがTrueに設定されている場合(デフォルトではTrue)、ファイルが選択されると同時にアップロード操作を開始します。 ボタンにはイメージファイルを設定できるので、独自のボタン形状にできます。

ボタンのカスタマイズ(ヘルプファイルより抜粋)
ボタンのカスタマイズ(ヘルプファイルより抜粋)

 ファイルを選択するダイアログボックスを表示する機能はコントロールに組み込まれているので、わざわざ設定する必要はありません。

UploadManagerコントロール

 UploadManagerコントロールでは、SavePathプロパティとTempPathプロパティの設定を組み合わせることで、ファイルのアップロード先を次の3通りのいずれかの方法で構成できます。

  • ファイルデータを一時的なファイル格納場所にストリーミングする…TempPathプロパティとSavePathプロパティの両方を設定すると、まずTempPathに一時ファイルが書き込まれ、その書き込みが終了すると一時ファイルがSavePathに移動される
  • ファイルデータを最終的なファイル格納場所に直接ストリーミングする…SavePathプロパティのみを設定すると、SavePathに直接ファイルがアップロードされる
  • ファイルデータをメモリにストリーミングする…TempPathとSavePathの値を両方ともクリアすると、ファイルがサーバーのメモリにアップロードされる

ProgressPanelコントロール

 ProgressPanelコントロールは、ファイルのアップロードが始まると表示され、個々のファイルのアップロード進行状況を示すバー、アップロード速度、転送されたバイトなどを表示します。ProgressPanelにはオプションでキャンセルボタンが表示され、これを使用すると実行中のファイルアップロード操作を中止できます。

各部の表示内容(ヘルプファイルより抜粋)
各部の表示内容(ヘルプファイルより抜粋)

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5