• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[VB][ASP.NET]FileUpload控件「批次上传/多档案同时上传」的范例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

FileUpload控件「批次上传 / 多档案同时上传」的范例 (VB语法)

 http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/14/3986.aspx

 

 

 

 

FileUpload控件真的简单好用,不使用它来作批次上传,却要改用别的方法,实在不聪明。要用就一次用到底,

公开FileUpload控件「批次上传」的范例,千万不能错过。

     

 

首先,进行HTML画面的设计,根据上图,在画面上使用多个 FileUpload控件,然后搭配一个按钮控件即可

除此以外,范例 8_Multi_Upload.aspx还加入了「避免上传同名档案」的功能(本范例共有三种子功能,其中沿用本章之前介绍的两个范例),可以说是把本章的各种范例作一个大融合。

(本文于2008/10/14修改)以下是后置程序代码:

 

    Protected Sub Button1_Click()Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        '--批注:网站上的目录路径。所以不写磁盘名称(不写 “实体”路径)。
        Dim saveDir As String = "\[Book]FileUpload\Uploads\"
        Dim appPath As String = Request.PhysicalApplicationPath

        Dim tempfileName As String = Nothing
        Dim myLabel As New System.Text.StringBuilder

        Dim i As Integer        

        For i = 1 To (Request.Files.Count)
            Dim myFL As New FileUpload
            myFL= CType(Page.FindControl("FileUpload" & i), FileUpload)


            If (myFL.HasFile) Then
                Dim fileName As String = myFL.FileName
                Dim pathToCheck As String = appPath & saveDir & fileName

                '========================================(Start)
                If (System.IO.File.Exists(pathToCheck)) Then
                    Dim my_counter As Integer = 2
                    Dim error_msg As String = Nothing

                    While (System.IO.File.Exists(pathToCheck))
                        ' --档名相同的话,目前上传的档名(改成 tempfileName),前面会用数字来代替。
                        tempfileName= my_counter.ToString & "_"& fileName
                        pathToCheck= appPath & saveDir & tempfileName
                        my_counter= my_counter + 1
                    End While

                    fileName= tempfileName
                    error_msg= error_msg & "<br>抱歉,您上传的档名发生冲突,档名修改--- " & fileName
                    Label1.Text= error_msg

                End If

                ' –完成档案上传的动作。
                Dim savePath As String = appPath & saveDir & fileName
                myFL.SaveAs(savePath)
                '========================================(End)
                myLabel.Append("<hr>檔名---- " & fileName)
            End If
        Next

        Label2.Text= "上传成功" & myLabel.ToString
    End Sub

 

本范例, C#的语法在此 ---- [C#]FileUpload控件「批次上传 / 多档案同时上传」的范例

 

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

   

 

 --------------------------------------------------------------------------------------------------------------------------------------------

Nick网友修改后的范例:Project.rar

 

 ...........................................................................................................................................................

本书的相关范例,还有----

  • 避免上传的「档名」重复。会自动修改档名并且提示。
  • 限制上传档案的大小(用程控、或是透过Web.Config设定档来作)
  • 限制上传档案的「扩展名」
  • 限制上传时,Server端的目录(避免上传到其它目录,有安全疑虑)

这些都是常用、网络上最常问到的范例,本书通通有~

 

 

 

请注意档案上传的风险,请看:

检 查上传档案扩展名真的有效吗?分析 IIS6 扩展名解析弱点!!

 

 

 

补充----

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
学习ASP.NETStarterKit[Portal](20050630)发布时间:2022-07-10
下一篇:
asp.net结合memcache进行分布式缓存的开发,结合mysql数据库发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap