如何在 yii2 中为 elfinder 设置 URL?

How to set URL for elfinder in yii2?

我在 yii2 框架中使用这个模块,但无法设置正确的 URL https://github.com/simialbi/yii2-elfinder

 'connectionSets' => [
                'default' => [ // like elfinder roots
                    [
                        'class' => 'simialbi\yii2\elfinder\ElFinderConfigurationLocalFileSystem',
                        'path'  => '@webroot/uploads',
                        'URL'   => '@web/file/files' // HERE PROBLEM
                    ]
                ]
            ],

这就是我定义 URL 'URL' => '@web/file/files' 的方式,其中 file 是我的控制器,files 是我的操作。 你能告诉我这个 URL 节目是如何在 yii2 基本模板中传递的吗。

127.0.0.1:8080/project/elfinder/proxy/index?baseUrl=QHdlYi9maWxlL2ZpbGVz&path=/NewFolder/file_example_PNG_500kB.png&_t=1587811929

URL 指向存储文件的 web 目录(所以这与 path 是同一个目录,但是 URL 从 web 可见)。在你的情况下,它可能应该是 @web/uploads.

我刚刚弄明白了。 第 1 步:- 您需要正确设置 URL 管理器

 'urlManager' => [
  'controller/action/<file:.*>' => 'controller/action',
]

第 2 步:- 创建一个操作并添加此代码

public function actionYourActionName($file)
    {
        $image_path = YOUR_UPLOAD_PATH . basename($file);
        if (file_exists($image_path)) {
            return \yii::$app->response->sendFile($image_path, $file, [
                'inline' => true //OPTIONAL
            ]);
        } 
         return "What exception you want to throw";
    }