在 Yii2 Advanced 中上传和访问图像的最佳方式是什么?
What is the best way to upload & access images in Yii2 advanced?
我是 Yii2 的新手,我有以下问题:使用高级模板在 Yii2 中上传和访问图像的最佳方式是什么?
假设我有 common\models\User
模型和 avatar
属性,我想从两个环境上传和访问此图像:后端和前端。那么最好的方法是什么?
重要说明:在视图中访问此图像我可能不知道图像是从哪个环境上传的(由管理员或自定义用户)。
为静态资源创建一个单独的文件夹
您可以在无 cookie 的子域 static.mysite.com
中提供所有静态文件,该子域将指向项目根目录中的 /static
文件夹。在 common/config/main
文件中为其创建别名:例如 @static
和 @staticPath
,通过代码使用它们。
当您从后端或前端保存图像时,您使用别名,例如
Image->saveAs(Yii::getAlias('@staticPath/img/users/') . $user->avatar)
显示图像时,使用别名。
Html::img(
Yii::getAlias('@static/img/users/') . $user->avatar
)
您可以更进一步,创建直接指向 image
或 img/users
文件夹的别名,或者将所有图像存储在一起并删除 img/users
文件夹。
我是 Yii2 的新手,我有以下问题:使用高级模板在 Yii2 中上传和访问图像的最佳方式是什么?
假设我有 common\models\User
模型和 avatar
属性,我想从两个环境上传和访问此图像:后端和前端。那么最好的方法是什么?
重要说明:在视图中访问此图像我可能不知道图像是从哪个环境上传的(由管理员或自定义用户)。
为静态资源创建一个单独的文件夹
您可以在无 cookie 的子域 static.mysite.com
中提供所有静态文件,该子域将指向项目根目录中的 /static
文件夹。在 common/config/main
文件中为其创建别名:例如 @static
和 @staticPath
,通过代码使用它们。
当您从后端或前端保存图像时,您使用别名,例如
Image->saveAs(Yii::getAlias('@staticPath/img/users/') . $user->avatar)
显示图像时,使用别名。
Html::img(
Yii::getAlias('@static/img/users/') . $user->avatar
)
您可以更进一步,创建直接指向 image
或 img/users
文件夹的别名,或者将所有图像存储在一起并删除 img/users
文件夹。