У меня есть вид сетки / сетка telerik rad с флажком в каждой строке, где пользователь может выбирать любые документы, которые ему нужно загрузить, и есть обычная кнопка asp. net вне сетки, которую можно использовать для загрузки всех выбранные файлы из azure BLOB-объектов на компьютер пользователя. Я использовал ICSharpCode.SharpZipLib.Zip из пакета nuget, он не работал. Нет ошибок, но не загружаются файлы. Есть решения? .
Imports ICSharpCode.SharpZipLib.Zip
Protected Sub downloadbutton_Click(sender As Object, e As EventArgs) Handles downloadbutton.Click
Response.AddHeader("Content-Disposition", "attachment; filename=" + "myfilezip" + ".zip")
Response.ContentType = "application/zip"
Using zipStream As ZipOutputStream = New ZipOutputStream(Response.OutputStream)
For Each item As Telerik.Web.UI.GridDataItem In grid.Items
If CType(item.FindControl("myCheckBox"), CheckBox).Checked Then
Dim blockBlob As CloudBlockBlob = GetStorageAccountDetails.GetBlockBlobReference(""container info and file path)
Dim sr as stream= blockBlob.OpenRead()
Dim ms As System.IO.MemoryStream = New IO.MemoryStream()
sr.CopyTo(ms)
Dim buffer As Byte() = ms.ToArray()
Dim fileEntry = New ZipEntry(fileName) With {
.Size = buffer.Length()
}
zipStream.PutNextEntry(fileEntry)
zipStream.Write(buffer, 0, buffer.Length)
End If
Next
zipStream.Flush()
zipStream.Close()
end sub