我们已将laravel/framework更新至^9.0版,并将league/flysystem更新至^3.0版。
现在我们有以下错误:Call to undefined method League\Flysystem\Filesystem::put()
产品代码:Storage::disk('disk-name')->put($concept->id.'.docx', file_get_contents($tmpPath));
在flysystem升级指南中,他们说:https://flysystem.thephpleague.com/docs/upgrade-from-1.x/
将put()方法更改为write()方法。
当我查看他们使用的flysystem源代码时:
vendor/league/flysystem/src/Filesystem.php
public function write(string $location, string $contents, array $config = []): void
但当我看到Laravel 9 Storage门面时,他们仍然使用:
applications/kics/vendor/laravel/framework/src/Illuminate/Support/Facades/Storage.php
put
在laravel 9文档中,他们还展示了建议使用put方法的示例。www.example.comhttps://laravel.com/docs/9.x/filesystem#obtaining-disk-instances
有人知道怎么解决这个问题吗?
谢谢!
'
2条答案
按热度按时间pengsaosao1#
如果您使用的是自定义文件系统磁盘,则需要在自定义服务提供程序中进行某些更改。https://laravel.com/docs/9.x/upgrade#flysystem-3
旧版
新增
23c0lvtd2#
在Laravel文档中,它指定Laravel 8和9存在变更。
在Laravel 8中,返回文件系统
但是对于Laravel 9,返回文件系统适配器。
如果您使用提供程序,请不要忘记更改它。