【发布时间】:2017-04-12 01:30:17
【问题描述】:
我对 Yii2 有一些不满。我尝试在控制器的操作中添加/设置响应标头。下面是代码:
Yii::$app->response->headers->set('Content-type', ['application/pdf']);
Yii::$app->response->headers->set('Content-Disposition', ['inline', 'filename=' . $fileName]);
Yii::$app->response->headers->set('Content-Transfer-Encoding', ['binary']);
Yii::$app->response->headers->set('Content-Length', [$fileSize]);
Yii::$app->response->headers->set('Accept-Ranges', ['bytes']);
return readfile($filePath);
如果我将 set() 更改为 add(),或者将第二个参数从数组更改为字符串,那么不会有任何反应。 pdf文件未打开。但如果我使用原生 PHP header() 方法 - 一切正常。
【问题讨论】:
-
查看Response类中的setDownloadHeaders函数
-
@ConorHolt,不,不起作用 Yii::$app->response->setDownloadHeaders($fileName, 'application/pdf', true, $fileSize);