我的问题是 store 功能不会将歌曲存储在 storage/app/public 中,而是将其存储在 storage/app 中,因此我无法链接它,也无法播放歌曲。
我曾尝试在商店功能中写入公共目录,但是当我尝试播放歌曲时,他没有看到该文件,因为公共目录位于这样的路径中:http : //127.0.0.1 : 8000/storage/公共/the_song
控制器:
public function store(Request $request)
{
$song = $request->the_song->store('songs');
$music = Music::create([
'sound'=> $song,
'name'=> $request->name
]);
session()->flash('success', 'The Song Successfully Saved');
return redirect(route('music.index'));
}
播放歌曲:
<audio controls autoplay>
<source src="{{ asset($song->sound) }}" type="audio/ogg">
<source src="{{ asset($song->sound) }}" type="audio/mpeg">
</audio>
默认情况下,Laravel 使用local
文件系统磁盘(参见参考资料config/filesystems.php
)。要将其保存在public
您必须明确使用它:
$song = $request->the_song->store('songs', 'public');
并且在检索文件时:
Storage::disk('public')->url($song->sound)
或者您也可以将默认磁盘设置为public
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句