Yii2 文件夹中存在图像,但未显示Yi2 advanced
我正在使用Windows 10并在我的本地计算机上进行尝试。从后端,我能够成功地上传backend/web/uploads文件夹中的图像,在前端,我尝试通过gridview中的以下代码进行访问Yii2 文件夹中存在图像,但未显示Yi2 advanced,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我正在使用Windows 10并在我的本地计算机上进行尝试。从后端,我能够成功地上传backend/web/uploads文件夹中的图像,在前端,我尝试通过gridview中的以下代码进行访问 ['attribute'=>'manufacturer_logo', 'label'=>'Logo', 'format' => 'html', 'value'=>function ($searchModel, $index, $widget) { return Html::img(
['attribute'=>'manufacturer_logo', 'label'=>'Logo', 'format' => 'html', 'value'=>function ($searchModel, $index, $widget) { return Html::img(Url::to('@web/uploads/' . $searchModel->manufacturer_logo),['width' => '50px']); }],
当我从控制台看到图像路径时,路径看起来像
/myprojectname/backend/web/uploads/home\u page\u default\u image.png
我还尝试了类似http的path
http://localhost/myprojectname/backend/web/uploads/home_page_default_image.png
但是图像没有显示,它存在于文件夹中,我无法找出错误是什么?您的代码看起来不错。因此,一个简短的清单:
这是我们用来忘记上传问题的行为 当你在后端调用
@web
时,它会加载域/后端/web
,但当你在前端调用它时,它是域/web
或域/前端/web
(我不知道你是否有一些htaccess规则),所以这是你的问题。
图像url与后端不一致
您只需将路径设置为(“/backend/web/uploads/”。$searchModel->manufacturer\u logo)
或者先使用另一种方式连接后端
还可以设置新别名。
在common/config/bootstrap.php
中添加此Yii::setAlias('@backendweb','/backend')代码>,因此您的图像url将为:
Url::to('@backendweb/uploads/.$searchModel->manufacturer\u logo)
我反复检查了一下,您提到的一切都很好,当我打开图像Url时,它会打开网站的主页。我验证了该图像存在于文件夹中,并且名称也正确。如果它打开主页,那么htaccess配置是否错误?我尝试了您的解决方案,但它不起作用。当我打开图像URL时,它会打开网站的主页。我验证了文件夹中存在图像,并且名称也正确。请给出一些屏幕截图。您是否像-http://localhost/myprojectname
?您是否尝试创建虚拟主机?我使用的项目URL类似于,但我没有尝试虚拟主机