我需要将文档上传到服务器,因为它是个人文档,所以他们希望将其上传到公用文件夹之外.我知道如何上传文件:
if ($model->load(Yii::$app->request->post())) {
$model->document = UploadedFile::getInstance($model, 'document');
if ($model->upload() !== false) {
$model->save();
}
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
但是,由于网址无法访问,我该如何阅读?我打算创建一个操作来获取文件,但不确定Yii是否已准备好应对这种情况?
解决方法:
让我们假设siteController中的以下代码特定于图像输出,您可以使用相同的方式来输出其他文件.
public function actionImage($image_path) {
Yii::$app->getResponse()->sendFile(Yii::getAlias('@image_uploads') . $image_path);
}
现在图像src将类似于
< img src =“ / site / image?image_path = / posts / 1.png” />或等效于实际应用程序的URL路由
Yii::$app->getResponse()->sendFile();
位于下方
\yii\web\Response.PHP