次の方法で共有


ファイルのアップロード機能を実装する方法

download.gifサンプル コードのダウンロード (PHPtips_Upload.msi, 245 KB)
※このサンプルをお使いいただくためには、Visual Studio 2005 が必要です。

クライアントからサーバーへファイルをアップロードするには、PHP では、enctype 属性を "multipart/form-data" に、method 属性を "post" にしたフォームを用意します。このフォームの中に、type 属性を "file" にした <input> タグを使うことで実装します。従来の ASP では、enctype 属性を "multipart/form-data" に、method 属性を "post" に、action 属性に処理を行うページを指定したフォームを用意します。このフォームの中に type 属性を "file" にした <input> タグを使うことで実装します。 ASP.NET 2.0 では、enctype 属性を "multipart/form-data" に、method 属性を "post" にしたフォームと、FileUpload コントロールを使って実装できます。では、実際にファイルをアップロードするページを作ってみましょう。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Sample Page</title>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data" method="post">
    <div>
        <asp:FileUpload ID="FileUpload" runat="server" /><br />
        <asp:Button ID="btnUpload" runat="server" Text="アップロード" />
    </div>
    </form>
</body>
</html>

リスト1.指定したファイルをアップロードする Default.aspx

はじめに、enctype 属性を "multipart/form-data" に、method 属性を "post" に指定したフォームを作成します。そのフォームの中に、FileUpload という ID を持つ FileUpload コントロールと、btnUpload という ID を持つボタン コントロールを用意します。(リスト1)。ファイルをアップロードするには、FileUpload コントロールでファイルを選択します。ファイルを選択した後に、btnUpload を押すと、FileUpload コントロールの SaveAs メソッドを使ってサーバーの "c:\" にファイルをアップロードします。(リスト2)。

Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
                                                        Handles btnUpload.Click
        FileUpload.SaveAs("c:\" + FileUpload.FileName)
    End Sub
End Class

リスト2.指定したファイルをアップロードする Default.aspx.vb

図

図1 サンプル Default.aspx の表示画面

FileUpload コントロールの [参照] ボタンを押すと、ファイルの選択ダイアログ ボックスが表示されます(図2)。アップロードするファイルを選択し、[開く] ボタンを押して確定した後、[アップロード] ボタンを押すとサーバーへファイルがアップロードされます。

図

図2 ファイルの選択ダイアログ ボックス

upload_fig03.gif

図3 ファイルを選択した後の Default.aspx の表示画面