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つめの引数はアクション名です。
3つめの引数はコントローラ名です。

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

コントローラ

Public Sub DownloadFile(address As String, destinationFileName As String)

コントローラです。ファイル名は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で値を別画面に渡す(VB.NET)
ASP.NET 設定ファイルの値を取得する(Web.config)
ASP.NET ファイルをアップロードする(VB.NET)

△上に戻る