ASP.NET+VB.NET ファイルをダウンロードする

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

確認環境
・Microsoft Visual Studio Community 2017

目次

目的 ファイルをダウンロードする
サンプル ビュー
  コントローラ

ファイルをダウンロードする

「ダウンロード」リンクをクリックすると、指定のファイルが指定の場所にダウンロードされます。

ビュー

ビューです。ファイルをダウンロードする画面です。ファイル名はview1.vbhtmlです。

@Code
		Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
</head>
<body>
	<p>ダウンロードテスト</p>
	<p>@Html.ActionLink("ダウンロード", "FileDown", "test1")</p>
</body>
</html>

10行目は、リンクです。1つめの引数はリンク名です。
2つめの引数はコントローラのFunction名です。
3つめの引数はコントローラ名です。

HTMLでは、以下のように展開されます。

コントローラ

コントローラです。ファイル名はtest1Controller.vbです。

Namespace Controllers
	Public Class test1Controller
		Inherits Controller

		'初期の画面を表示
		Function Index() As ActionResult
			Return View("view1")
		End Function

		'ファイルをダウンロードして画面を再表示
		Function FileDown() As ActionResult

			Dim ServerPath As String = "C:\work\test1.txt"
			Dim DownloadPath As String = "D:\Test1\ダウンロードテスト1.txt"

			My.Computer.Network.DownloadFile(ServerPath, DownloadPath)

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

6~8行目は、初期表示時のダウンロードする画面を表示します。
11行目からは、ビューでクリックしたときに実行されます。
13行目は、サーバー側のパスとファイルです。
14行目は、ダウンロード後のパスとファイルです。
16行目は、DownloadFileメソッドでダウンロードを実行しています。

以下は、MicrosoftのNetwork.DownloadFileメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.visualbasic.devices.network.downloadfile?view=netframework-4.8

関連の記事

ASP.NET POSTで値を別画面に渡すサンプル
ASP.NET 設定ファイルの値を取得する(Web.config)
ASP.NET+VB.NET ファイルをアップロードする

△上に戻る