Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
RBShow()
End Sub
Sub LoadGrid()
Dim rstFiles As New DataTable
rstFiles.Columns.Add("FileName")
rstFiles.Columns.Add("Created", GetType(DateTime))
rstFiles.Columns.Add("Size")
Dim sFolder As String = "~/UpLoadFiles"
Dim MyFolder As New DirectoryInfo(Server.MapPath(sFolder))
Dim MyFileList() As FileInfo = MyFolder.GetFiles("*.*")
For Each OneFile As FileInfo In MyFileList
Dim OneRow As DataRow = rstFiles.NewRow
OneRow("FileName") = OneFile.Name
OneRow("Created") = OneFile.CreationTime.ToString("G")
OneRow("Size") = OneFile.Length
rstFiles.Rows.Add(OneRow)
Next
GridFiles.DataSource = rstFiles
GridFiles.DataBind()
End Sub
Protected Sub RadioButtonList1_SelectedIndexChanged(sender As Object, e As EventArgs)
RBShow()
End Sub
Sub RBShow()
' routine to hide and show a div based on radio button (this is our fake tab control)
If RadioButtonList1.SelectedIndex = 0 Then
uploadfiles.Style.Add("Display", "normal")
myfiles.Style.Add("Display", "none")
Else
LoadGrid()
uploadfiles.Style.Add("Display", "none")
myfiles.Style.Add("Display", "normal")
End If
End Sub
文件上传器有一个up-load file complete事件,代码如下:
Protected Sub AjaxFileUpload1_UploadComplete(sender As Object, e As AjaxControlToolkit.AjaxFileUploadEventArgs)
Dim sFile As String = Server.MapPath("~/UpLoadFiles/") & e.FileName
AjaxFileUpload1.SaveAs(sFile)
End Sub
Protected Sub cmdDownLoad_Click(sender As Object, e As EventArgs)
Dim myBut As Button = sender
Dim strFileOnly As String = myBut.CommandArgument
Dim strFile As String = ""
strFile = Server.MapPath("~/UpLoadFiles/" + strFileOnly)
Dim sMineType As String = MimeMapping.GetMimeMapping(strFileOnly)
Response.ContentType = sMineType
Response.AppendHeader("Content-Disposition", "attachment; filename=" + strFileOnly)
Response.TransmitFile(strFile)
Response.End()
End Sub
1条答案
按热度按时间ccgok5k51#
天啊,我不明白数据库有什么重要的?
如果你没有一个数据库,这不应该影响你可以只是下降在一个文件加载程序,上传文件到某个文件夹,然后显示文件的列表已被上传.你是100%的自由,然后处理这些文件被拖到该文件夹,对不对?
所以,让我们在一个文件加载程序下降(您可以选择/使用一个"gazillion"这样的加载程序,或使用一个简单的文件加载控件。
在该控件的正下方,然后放入一个网格视图,以显示上载到该文件夹中的文件。
所以,假设这个标记:
我使用的是ajaxtoolkit上传器,但这在这里并不重要。
然后在上传器下面,我只是在一个网格视图中放置,以显示上传后的文件。
见鬼,还不如使用一个选项卡控件,或者一个简单的单选按钮列表,这样用户就可以查看文件,或者上传更多的文件。
所以,上面,我有这个代码背后:
文件上传器有一个up-load file complete事件,代码如下:
所以,当我们运行页面时,我们会得到这个:
所以,既然你没有一个数据库-不需要一个!
然后加载一个网格视图,或者列表框,或者任何带有文件列表的东西,这些文件来自你保存所有正在加载的文件的文件夹。
当然在上面,我有一个下载按钮。
代码如下所示:
因此,这些文件仍在该文件夹中以供"以后"处理。
更棒的是,如果你回到页面,你可以"查看"已经上传的文件列表,或者上传更多的文件。
所以,根本不清楚为什么需要数据库。那些文件只是坐在一个文件夹里。
然后,您可以处理这些文件,例如,当完成时,移动到另一个名为MyProcessed的文件夹。
然后,您可以自由地上载更多的文件进行处理,这些文件将驻留在MyUpLoads文件夹中。