ASP.NET アップロードされたファイルの内容を読み込み取得する
ASP.NETでアップロードされたファイルの中身を取得するには以下のようにします。
WebForm1.vb.aspx<input type="file" id="file1" runat="server" />WebForm1.vbDim bs(file1.PostedFile.ContentLength) As Byte
'bsにファイルの内容をセット
file1.PostedFile.InputStream.Read(bs, 0, bs.Length)解説
ファイルの中身はバイト配列で取得します。
ASP.NET アップロードされたファイルのサイズを取得するで紹介したように、アップロードされたファイルのサイズを取得して、そのサイズ分のバイト配列を宣言します。
そのバイト配列にファイルの中身をInputStream.Readでセットします。
文字列で取得
アップロードしたファイルがCSVなどのテキスト形式の場合はバイト配列ではなく文字列(String)形式で扱いたいことがあります。
バイト配列を文字列に変換する方法はVB.NET バイト配列と文字列を相互変換するで紹介しています。
ファイルの内容が取得できないとき
アップロードしたファイルの内容が取得できない時は、フォームタグにenctype="multipart/form-data"を追加します。
WebForm1.vb.aspx<form id="Form1" runat="server">
<form id="Form1" runat="server" enctype="multipart/form-data">
<input type="file" id="file1" runat="server" />
</form>