ファイルアップロード [.net 1.1]
ファイルをアップロードするコンテンツを作るとき.net2.0なら
サーバーコントロールのFileUploadコンポーネントを使用する。
しかしこれは.net2.0からの機能となる。
そこで.net1.1までは以下のように実装する。
<input type="file">をHTMLサーバーコントロールに変換して対応。
HTMLコード
<div>
<input runat="server" id="FileUpload" type="file" />
<br />
<asp:Button ID="BtnFileUpload" runat="server" Text="Upload" onclick="BtnFileUpload_Click" />
</div>
C#コード
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// ファイルアップロードボタンクリック動作
/// <input type="file">をHTMLコントロールに変換しておく
/// 例ではID="FileUpload"で設定
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnFileUpload_Click(object sender, EventArgs e)
{
HttpPostedFile oPostFile = FileUpload.PostedFile;
if (oPostFile.FileName == String.Empty)
{
//エラー処理 ファイルなし
}
//保存する場合はSaveAsメソッドを使用する
//oPostFile.SaveAs("filepath");
//読み込んで処理をする場合は以下
System.IO.StreamReader reader = null;
try
{
reader = new System.IO.StreamReader(oPostFile.InputStream);
//StreamReader の処理を行う
}
catch
{
//エラー処理
}
finally
{
if (reader != null) reader.Close();
}
}