ASP.NETとVB.NETのファイルをダウンロードするサンプルです。
(確認環境:Microsoft Visual Studio Community 2019)
目次
目的 | ファイルをダウンロードする |
サンプル | ビュー(Index.vbhtml) |
コントローラ(Test1Controller.vb) |
ファイルをダウンロードする
「ダウンロード」リンクをクリックすると、指定のファイルが指定の場所にダウンロードされます。
ビュー(Index.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では、以下のように展開されます。
コントローラ(Test1Controller.vb)
Public Sub DownloadFile(address As String, destinationFileName As String) |
コントローラです。
Namespace Controllers
Public Class Test1Controller
Inherits Controller
'初期の画面を表示
Function Index() As ActionResult
Return View()
End Function
'ファイルをダウンロードして画面を再表示
Function FileDown() As ActionResult
Dim ServerPath As String = "D:\Test1\test1.txt"
Dim DownloadPath As String = "C:\work\ダウンロードテスト1.txt"
My.Computer.Network.DownloadFile(ServerPath, DownloadPath)
Return View("Index")
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とVB.NET) POSTで値を別画面に渡す
(ASP.NETとVB.NET) Web.configファイルの値を取得
(ASP.NETとVB.NET) ファイルをアップロードする