VB.NET实现文件上传下载

1.文件上传
文件上传最好可以支持多文件上传,增加系统通用性

前端:

<form id="form1" method="post" enctype="multipart/form-data" runat="server">
    <div>
        <input name="file1" type="file" id="file1" multiple="multiple" style="width:286px;" />
        <input name="submit1" type="submit" value="提交"/>
    </div>
</form>

后台:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then
        Dim Pfile As HttpPostedFile = Nothing
        For i = 0 To Request.Files.Count-1
            If Request.Files.Count > 0 Then
                '获取上传的文件对象
                Pfile = Request.Files(i)
                '获取上传的文件完全限定名称(及包括后缀名)
                Dim filename As String = Pfile.FileName
                '获取上传文件的大小
                Dim size As Int32 = Pfile.ContentLength
                '设置存储路径
                Dim path As String = "D:\test\"
                '上传文件
                Pfile.SaveAs(path & filename)
            End If
        Next
        Response.Write("<script type='text/javascript'>alert('提交成功')</script>")
    End If
End Sub

测试
在这里插入图片描述
在这里插入图片描述
提前把文件夹创建好。实际应用的话肯定会涉及到数据库的,一般会把文件的路径存放至数据库而不是将文件保存到数据库,且上传的位置一般都是项目的某个路径下。如果文件夹内存在名称相同的文件会被覆盖,这一点需要注意。

2.文件下载
文件下载主要工作在后台,且指定为文件下载的页面应该只做文件下载功能,并通过从其他页面用a标签链接过来完成下载功能

前端
UploadTest.aspx

<form id="form1" method="post" enctype="multipart/form-data" runat="server">
    <div>
        <input name="file1" type="file" id="file1" multiple="multiple" class="inputBorder" style="width:286px;" />
        <input name="submit1" type="submit" value="提交"/>
    </div>
</form>
<a href="DownloadTest.aspx">下载test2.txt</a>

DownloadTest.aspx前端什么都不需要,工作都在后台

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
	If Not IsPostBack Then
        '获取需要下载的文件路径
        Dim filePath As String = Server.MapPath("./") + "test2.txt"
        '获取该文件对象
        Dim file As New FileInfo(filePath)
        '获取文件大小
        Dim intFileLength As Int32 = file.Length
        '获取文件名称
        Dim fileName As String = file.Name

        Response.AddHeader("Content-Disposition", "attachment; filename=" & fileName)
        Response.AddHeader("Content-Length", intFileLength)
        Response.ContentType = "application/octet-stream"
        Response.WriteFile(filePath)
        Response.Flush()
    End If
End Sub

测试
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值