Yii2 文件夹中存在图像,但未显示Yi2 advanced

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(

我正在使用Windows 10并在我的本地计算机上进行尝试。从后端,我能够成功地上传backend/web/uploads文件夹中的图像,在前端,我尝试通过gridview中的以下代码进行访问

['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


但是图像没有显示,它存在于文件夹中,我无法找出错误是什么?

您的代码看起来不错。因此,一个简短的清单:

  • 验证该文件是否存在
  • 直接在浏览器上尝试文件的URL,图像必须出现。如果不检查权限,但由于您在windows上,我认为这不是问题所在
  • 您不需要在Html::img中使用Url::to。这个人知道如何解释@web别名
  • 请记住,您使用路径保存,但为了显示您需要使用url。因此,您需要确保指向相同的位置


    这是我们用来忘记上传问题的行为

    当你在后端调用
    @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类似于,但我没有尝试虚拟主机