ASP.NET+VB.NET ファイルをアップロードする

ASP.NET+VB.NETのファイルをアップロードするサンプルです。

確認環境
・Microsoft Visual Studio Community 2019

目次

サンプル アップロードするサンプル

アップロードするサンプル

ファイルを選択して、ボタンを押すとファイルをアップロードするサンプルです。
フォーム、ビュー、コントローラを使用します。

フォーム

以下は、ActionForm1という名前のフォームです。

Public Class ActionForm1

    Public Property upfile1 As HttpPostedFileBase

End Class

3行目は、アップロードするファイルを代入するプロパティです。
データ型は、HttpPostedFileBaseです。

以下は、MicrosoftのHttpPostedFileBaseクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.httppostedfilebase?view=netframework-4.8

ビュー

以下は、view1という名前のビューです。

@ModelType asp_3.ActionForm1

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  @Using Html.BeginForm("index", "test1/FileUp", FormMethod.Post, New With {.id = "form1", .enctype = "multipart/form-data"})
    @<input type="file" name="upfile1" value="" />
    @<input type="submit" id="button1" value="ボタン" />
  End Using
</body>
</html>

8行目のenctype は、multipart/form-dataにします。
9行目は、type=fileです。ファイルを選択のボタンになります。

画面のイメージは以下のようになります。

コントローラ

コントローラの部分です。

Namespace Controllers
    Public Class test1Controller
        Inherits Controller

        Function Index() As ActionResult
            Dim actionform As New ActionForm1

            Return View("view1", actionform)
        End Function

        Function FileUp(actionform As ActionForm1)
            Dim file1 As HttpPostedFileBase = actionform.upfile1

            file1.SaveAs("D:\\Test1\\" + file1.FileName)

            Return View("view1", actionform)
        End Function
    End Class
End Namespace

5~9行目は、初期表示時にアップロードする画面を表示します。
11行目からは、ビューでsubmitしたときに実行されます。
12行目は、ビューで実行した値を取得します。
14行目は、DドライブのTest1フォルダに保存しています。
16行目は、画面を再度表示します。

関連の記事

VB.NET PLSQLのselectで複数件取得する
VB.NETとPLSQLで複数件をinsertする

△上に戻る