C# 打包大量大文件以供下载的最佳方法?
我有一个ASP.NET网站,它存储大量文件,如视频。我想要一个简单的方法,允许用户下载一个包中的所有文件。我在考虑动态创建ZIP文件 我所看到的所有示例都涉及在下载之前创建文件,但可能会下载TB的信息,因此用户需要等待很长时间。显然,ZIP文件在文件末尾存储了关于ZIP文件中内容的所有信息 我的想法是动态地创建下载的文件。这样我就可以允许用户点击下载。下载将开始,不需要服务器上的任何空间进行预打包,因为它将通过未压缩的顺序复制内容。文件的最后一部分将包含已下载内容的信息 有人有过这样的经历吗?有人知道更好的方法吗?目前我看不到任何预先制作的实用程序,但我相信它会起作用。如果它不存在,那么我想我必须阅读Zip文件格式规范并编写自己的代码。。。这将需要比我打算花费更多的时间C# 打包大量大文件以供下载的最佳方法?,c#,asp.net,zip,C#,Asp.net,Zip,我有一个ASP.NET网站,它存储大量文件,如视频。我想要一个简单的方法,允许用户下载一个包中的所有文件。我在考虑动态创建ZIP文件 我所看到的所有示例都涉及在下载之前创建文件,但可能会下载TB的信息,因此用户需要等待很长时间。显然,ZIP文件在文件末尾存储了关于ZIP文件中内容的所有信息 我的想法是动态地创建下载的文件。这样我就可以允许用户点击下载。下载将开始,不需要服务器上的任何空间进行预打包,因为它将通过未压缩的顺序复制内容。文件的最后一部分将包含已下载内容的信息 有人有过这样的经历吗?有
谢谢您的链接,但是GZip需要首先将所有文件打包到一个位置。如果我有TB的信息,那么我不能保证RAM或硬盘上有足够的内存来实现这一点。它也会很慢。。。或者我错过了解释?为什么不首先将它们存储在压缩的服务器上?视频已经相当压缩(取决于使用的压缩),因此压缩视频可能不会带来任何(或很大)尺寸优势,除非它是原始视频。“动态”压缩的问题是,通常必须通过遍历整个文件来构建压缩。你可以将它压缩成块,但同样,如果是视频/音频,它可能会被压缩到它将要得到的程度。也许我应该澄清一下。我对压缩不感兴趣。我感兴趣的是将所有文件打包成一个zip文件,以便可以轻松下载