zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET アップロードされたファイルのサイズを取得する

ASP.NETでアップロードされたファイルのサイズを取得するには以下のようにします。

WebForm1.vb.aspx
<input type="file" id="file1" runat="server" />
WebForm1.vb
Dim size As Decimal = file1.PostedFile.ContentLength

ファイルサイズの単位

サイズの単位はバイトで取得されます。

例えば「10メガバイト以上の場合」などで処理を分岐したい場合は単位に合わせて1024を掛けます。

WebForm1.vb
Dim size As Decimal = file1.PostedFile.ContentLength

If size > 10 * 1024 Then
    '10キロバイト以上
End If

If size > 10 * 1024 * 1024 Then
    '10メガバイト以上
End If

サイズが取得できないとき

アップロードしたファイルのサイズが取得できない時は、フォームタグに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>

関連記事