質問編集履歴
2
修正したソース及びブラウザのキャプチャを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -157,3 +157,57 @@
|
|
157
157
|
指摘・修正事項・不足しているソースなどあればお申しつけください。
|
158
158
|
|
159
159
|
ご回答お待ちしております。よろしくお願いします!
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
2020/07/27 追記★
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
事象としては変わらず「zipの中身が文字化けした状態でブラウザに表示されている」ままですが、
|
168
|
+
|
169
|
+
Controllerのソースを下記のように修正しました。また、`debug()`でresponseを出力した際のキャプチャ(文字化けzip含む)を下記に添付します。
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
- `app/controller/DownloadController.php`修正版(1)
|
174
|
+
|
175
|
+
```php
|
176
|
+
|
177
|
+
public function download($camp_id = null, $login_id = null, $file_name = null){
|
178
|
+
|
179
|
+
$this->autoRender = false;
|
180
|
+
|
181
|
+
$bucket = Configure::read("csvExportBucketName");
|
182
|
+
|
183
|
+
$zip = $this->S3->downloadCSVFiles($bucket, $camp_id.'/'.$login_id.'/'.$file_name);
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
if (!empty($zip)) {
|
188
|
+
|
189
|
+
$file_path = WWW_ROOT.'storage'.DS.$file_name.'.zip';
|
190
|
+
|
191
|
+
$this->response->type('application/zip');
|
192
|
+
|
193
|
+
$this->response->type('content-Length: '.filesize($file_path));
|
194
|
+
|
195
|
+
$this->response->type('Content-Disposition: attachment');
|
196
|
+
|
197
|
+
$this->response->file($file_path, ['download' => true]);
|
198
|
+
|
199
|
+
debug($this->response);
|
200
|
+
|
201
|
+
}
|
202
|
+
|
203
|
+
}
|
204
|
+
|
205
|
+
```
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
- ブラウザの状態
|
212
|
+
|
213
|
+
![レスポンスの一部とzip文字化けの一部を抜粋](ef4213cf038e182b66775918c755ac9d.png)
|
1
バージョン情報の追加
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
[PHP]zipファイルのダウンロ
|
1
|
+
[PHP]zipファイルのダウンロードができない
|
test
CHANGED
@@ -25,6 +25,14 @@
|
|
25
25
|
`app/controller/DownloadController.php`にてzipファイルをローカルにダウンロード、としたいのですが、
|
26
26
|
|
27
27
|
後者がうまくいかず、なぜか(おそらく該当のzipファイルが)ビュー上に文字化けした状態で表示されます。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
## 各種バージョン情報
|
32
|
+
|
33
|
+
CakePHP : 2.10.20
|
34
|
+
|
35
|
+
PHP : 7.2.31
|
28
36
|
|
29
37
|
|
30
38
|
|