【发布时间】:2020-03-13 20:59:28
【问题描述】:
我有一个 mp3 音频文件存储在 public/storage 文件夹中,该文件夹与 storage/app/public 文件夹链接,使用 this 命令模拟 php artisan storage:link。
所以,现在我可以像this 一样在浏览器中直接访问http://my-domain/storage/example.mp3。我收到了音频,但无法播放,我不知道为什么。
当我在浏览器中输入http://my-domain/storage/example.mp3 时,我得到了这个:
音频没有损坏,因为我尝试手动将其从路径 public/storage(带有 WinSCP)移动到我的窗口桌面并且它可以正常播放。我不知道这是怎么回事。有人可以帮我吗?
编辑:我也尝试制作一个获取路径来播放音频,所以我做了这样的事情:
public function getAudio(Request $request, $filename){
if(!Storage::disk('public')->exists($filename)){
return "error";
}
try {
$type = Storage::mimeType($filename);
$file = Storage::get($filename);
return response($file, 200)->header('Content-Type', $type);
} catch (\Exception $e){
return $e->getMessage();
}
}
但我得到的和截图一样......
编辑:它只发生在音频文件,.txt 文件显示文件内容和图像,工作正常。
【问题讨论】:
-
控制台有错误吗?我猜它提供了错误的地雷类型
-
没有任何错误。我更新了我的问题