问题标签 [zipstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2140 浏览

java - 提取时日文文件名出现乱码

我正在压缩一个 .csv 文件,如下所示:

文件名还包含日文/中文字符 在使用 winzip/7-zip 提取时,提取的 .csv 文件名不会出现乱码,但使用默认的 windows 提取器时,文件名会出现乱码。

0 投票
2 回答
1139 浏览

php - Apache 读取 ZIP 文件而不是下载

我的脚本有问题,当我在创建后尝试下载 ZIP 文件时 - apache 读取它们而不是下载!

我使用 zipstream.php 类(https://github.com/maennchen/ZipStream-PHP

如何配置 apache(在 Ubuntu 上运行)以允许下载带有 ZIP 扩展名的文件?

谢谢 !

我正在使用的代码:

注意:问题是当我从 JQUERY 调用文件时他不会下载,但是当我直接浏览它时他会正确下载!

0 投票
1 回答
1272 浏览

python - 在 Django 中使用 Python ZipStream 获取损坏的 zip

我对 Django 有点陌生,所以请多多包涵。
我从这里使用 zipstream并有一个 Django 视图,它返回所有文件附件的 zip 文件,这些文件附件都托管在 Amazon S3 上。但是当我下载 zip 文件时,它们都被损坏了,也就是说,我无法打开它们。我尝试过验证文件,unzip -t但错误不是很有帮助。

有任何想法吗?

解决了。

0 投票
0 回答
537 浏览

php - php openssl 即时加密流

我有一个 php 脚本,可以下载使用 zipstream ( http://pablotron.org/software/zipstream-php/ ) 动态压缩的巨大 zip 文件。

是否可以使用公钥加密对其进行加密而不将整个内容存储在服务器磁盘或内存中?

据我所知,标准的 openssl_encrypt 函数需要整个数据都在内存中。

0 投票
1 回答
1241 浏览

php - PHP 核心 ZipArchive 与 ZipStream-PHP

我正在检查用于从 S3 压缩流内容的良好解决方案,我遇到了ZipStream-PHP API,它已被s3-bucket-stream-zip-php API 使用,但是我猜在核心 PHP 类ZipArchive的帮助下,它的函数ZipArchive::addFromString我们可以实现相同的。

我的查询是 ZipStream-PHP API 是比 ZipArchive 更好的解决方案,用于从 S3 或任何其他云服务压缩流内容?

0 投票
1 回答
129 浏览

php - AWS php sdk 用于即时写入 s3bucket

我想将 s3 bucket1 中的一些文件(视频)作为 zip 即时写入 s3bucket2,而不使用任何磁盘空间进行临时存储。它应该以最短的时间跨度和更少的开销发生。目前我正在使用 zipstream 制作 zip,但无法即时写入存储桶。需要任何帮助。

0 投票
2 回答
3559 浏览

php - 如何在 zip 流下载中流式传输 zip?

我希望能够
在内存中存档(zip,不需要压缩,但这是一个优点)并流式传输它,问题是我想在
我正在流式传输的 zip 中创建一个内部 zip,如下所示:

文件:

流下载应如下所示

注意,我必须流式传输文件,因为我没有可用的高清存储空间,而且我也无法将所有文件都保存在内存中(这就是我流式传输它们的原因)


这是我设法开始工作的普通 zip 流(还没有内部 zip 流):

0 投票
1 回答
2363 浏览

php - 在 Symfony 中使用 ZipStream:流式 zip 下载不会在 Mac OSX 上使用 Archive Utility 解压缩

我有一个 symfony 2.8 应用程序,在用户单击“下载”按钮时,我使用 s3 上的几个大(图像、视频)文件的密钥使用 ZipStream(https://github. com/maennchen/ZipStream-PHP)。

文件流和下载为 zip(存储,未压缩)在浏览器中是成功的,并且 zip 位于下载中。但是,当尝试使用 Archive Utility(OSX 上的本机存档软件)在 Mac OSX El Capitan 中打开 zip 时,会出错。错误:

无法将“test.zip”扩展为“下载”。(错误 2 - 没有这样的文件或目录。)

我在 SO 上看到了较旧的相同问题并尝试了这些修复,特别是这篇文章:https : //stackoverflow.com/a/5574305/136151 并跟进了 ZipStream 中相关的问题和 PRs 以及 Guzzle 等中的上游修复.

问题是,上面的修复是在 2011 年,当时事情还在继续。因此,应用相同的修复程序我没有得到有效的结果。

我尝试过的具体修复是: 1. 按照建议将“要提取的版本”设置为 0x000A。也如另一篇文章中推荐的“20”。我为“制作的版本”设置了相同的设置。2. 我试图强制压缩方法“放气”而不是“存储”,看看我是否得到了工作结果。存储的结果就是我所需要的,并且适合用作图像和视频的容器文件的 zip。

我可以使用名为 The Unarchiver 的第三方存档应用程序提取 zip。但是,用户不会知道也不能期望安装替代存档应用程序以适合我的网络应用程序。那不是一个有效的解决方案。

有没有人有解决这个问题的知识或经验,可以帮助我解决这个问题?

注意:流式压缩到浏览器是必需的解决方案。考虑到这种方法的时间和开销,将资产从 s3 下载到服务器以创建一个 zip,然后将生成的 zip 流式传输到浏览器并不是一个解决方案。

如果需要,添加信息:

代码和设置: - 文件存储在 s3 上。- Web 应用程序是 PHP7.0 上的 symfony 2.8,在 ec2 和 Ubuntu 上运行。- 使用 aws-sdk-php,创建一个具有有效凭据的 s3client,然后我在 s3client 上注册 StreamWrapper (s3client->registerStreamWrapper())。这是通过 fopen 从 s3 获取文件以流式传输到 ZipStream 库:

压缩输出结果:

  • 通过存档实用程序在 mac 上提取失败并出现错误 2

  • 在 Mac 上使用 Unarchiver 进行提取。

  • 使用 7-zip 在 Windows 上进行提取。

  • 使用 WinRar 在 Windows 上提取失败 - 说 zip 已损坏。

响应标头:

在此处输入图像描述

编辑 我愿意使用另一种将文件作为 zip 流式传输到浏览器的方法,如果建议,可以在 Mac、Windows、Linux 上本地打开,而无需使用 ZipStream。只是不要创建一个 zip 文件服务器端以随后进行流式传输。

0 投票
1 回答
98 浏览

url - [ZipStream] 使用 zipstream 下载多个 url

我尝试使用 ZipStream,我发现当 url 像 5 个 url 一样小时,它工作得很好,但是当 url 更大时,浏览器转来转去,我无法获取 zip 文件。有没有人遇到过同样的情况之前的问题?非常感谢。下面是我的代码。我正在使用 mac os 并使用 localhost 和端口 63342 在 phpstorm 上调试代码。

0 投票
1 回答
796 浏览

php - Laravel 5.4 中的 Zipstream - 数据已损坏

我正在使用该方法生成示例 zip 文件。

不幸的是,zip 文件的输出没有解压缩到预期的输入。

生成的文件example.zip,解压缩文件后解压缩“hello.txt”,但它的内容是一个空白的新行

我的努力基于以下代码:

在 Symfony 中使用 ZipStream:流式 zip 下载不会在 Mac OSX 上使用 Archive Utility 解压缩

我的调试步骤是这样开始的:

1) 尝试使用 Amazon S3 流生成 zip

2)修改设置,删除压缩

3) 将问题隔离为最简单的结果

4) 添加输出缓冲和输出刷新以尝试拦截任何输出。

我的路线是这样的:

Route::get("/generate-zip", 'myController@generateZip');