VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • 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
 
测试
 
 
————————————————
版权声明:本文为CSDN博主「月下抽风」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/listennerBGM/article/details/90040188

相关教程