peinhu / AetherUpload-Laravel

A Laravel package to upload large files 上传大文件的Laravel扩展包
GNU General Public License v2.0
919 stars 126 forks source link

`FILESYSTEM_DRIVER`设置为`public`,将运行错误 #75

Closed toknT closed 5 years ago

toknT commented 5 years ago

如果将FILESYSTEM_DRIVER设置为public,将运行错误(也许只是我的错误),

只需删除construct中的锁定disk到local代码即可解决

peinhu commented 5 years ago

如果想把上传文件存放到app下的public目录,只需在配置文件的资源分组groups下新增public分组即可,例如:

        'public' => [ # 分组名
            'group_dir'                    => 'public', 
            'resource_maxsize'             => 0, 
            'resource_extensions'          => [], 
            'event_before_upload_complete' => '', 
            'event_upload_complete'        => '', 
        ],

然后前端在上传时调用aetherupload(this).setGroup('public').upload(),应该不需要改源码。

peinhu commented 5 years ago

@toknT 抱歉,上面说错了,分组不用改,应该是把配置文件中的root_dir对应项改为public,然后运行artisan命令aetherupload:groups生成目录,这样就行了,我试了下能正常上传到storage/app/public目录下。 另外,我在.env文件中设置FILESYSTEM_DRIVER为public,并没有影响到正常上传,因为我的配置中指定了disk必须为local,其他地方的设置不会生效,所以也不会有影响。

peinhu commented 5 years ago

不清楚你是怎么操作的,可以试试在一个全新的laravel项目中安装本扩展是否还会出现这样的问题?目前我无法复现你说的BUG。

toknT commented 5 years ago

我这问题 抱歉, 执行php artisan aetherupload:publish./storage/app/aetherupload目录被删了.

要存放到storage/app/public ,下得如你所说修改root_dir

error
peinhu commented 5 years ago

我看了下图片,public目录下面应该直接是_headerfile文件夹,层级中不应该多一个aetherupload,估计是你修改源码那两处导致的。 file分组资源文件目录正确的层级结构是:storage/app/{root_dir}/file/{subdir}/文件