I need one help. I have written a code for downloading files on a given link. Single file download is working properly. but i want to create a functionality for download all. User can check multiple files and then when he selects download button it should download all the selected files automatically.
My current Code :
Dim strRequest() As String '= Request.QueryString("file") '-- if something was passed to the file querystring
Dim i As Integer
strRequest = Split("YServer.txt,PkgClnup.log", ",")
For i = 0 To UBound(strRequest)
Response.Write(Server.MapPath(strRequest(i)) & " : " & i)
If strRequest(i) <> "" Then 'get absolute path of the file
Dim path As String = Server.MapPath(strRequest(i)) 'get file object as FileInfo
'Dim file As System.IO.FileInfo = New System.IO.FileInfo(path) '-- if the file exists on the server
Dim fs As FileStream
fs = File.Open(path, FileMode.Open)
Dim bytBytes(fs.Length) As Byte
fs.Read(bytBytes, 0, fs.Length)
Response.AddHeader("Content-Disposition", "attachment; filename=" & strRequest(i))
Response.ContentType = "APPLICATION/OCTET-STREAM"
Response.Write("Please provide a file to download.")
Response.End() 'if file does not exist
I think to download multiple files you should first zip all selected files and then download that single zip file. It is quet reasonable since web page's response is stream based and each request will only return a single response stream.
I hope this helps,