我最近将我的网站从 CakePHP 1.1 迁移到 1.3。
我现在正在使用媒体视图下载文件,但是,我遇到了一个大问题。
当我通过媒体视图下载 zip 文件并尝试解压缩时,Windows 声称该文件为空。如果我尝试预览它,它说它是无效的。
- 文件大小正确,与服务器上的大小相同
- 我可以通过 FTP 从服务器下载完全相同的文件,这是正确的
- 我可以通过媒体视图下载 pdf 文件,并且 IT 工作正常(但 ZIP 文件不能)
这是我的控制器代码:
$this->view = 'Media';
$downloadparams = array(
'id' => 'junkstuff'.'.zip',
'name' => 'junk3',
'download' => true,
'extension' => 'zip', // must be lower case
'path' => APP . 'tmp/files' . DS // don't forget terminal 'DS'
);
$this->set($downloadparams);
同样,如果我更改为 pdf 文件,并将“扩展名”更改为“pdf”,则一切正常。调试设置为 0。
我的代码使用直接来自 1.3 Cakebook: http ://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html
有趣的是,他们在 cakebook 中以 zip 为例....
我可能做错了什么?
作为参考,这个线程似乎是完全相同的问题,但它也没有答案: 使用 winrar 打开时,通过 Cakephp MediaViews 获得的 Zip 文件报告 Unexpected end of archive