gpt4 book ai didi

php - 使用 Laravel 在本地保存文件

转载 作者:行者123 更新时间:2023-12-02 17:09:38 31 4
gpt4 key购买 nike

我在 Laravel 中本地保存文件,但是我在获取正确的 URL 和访问文件时遇到了问题。

我已经设置了一个与 Artisan 的符号链接(symbolic link):

php artisan storage:link 

保存时,我在名称中添加了public/,这样文件就放在了/storage/app/public/目录下,这样就可以了。

if ($request->hasFile('files')) {
$files = array();

foreach ($request->file('files') as $file) {
if ($file->isValid()) {
$name = time() . str_random(5) . '.' . $file->getClientOriginalExtension();
Storage::disk('public')->put($name, $file);
$files[] = $name;
}
}

if (count($files) > 0) {
$response->assets = json_encode($files);
}
}

名称存储在数据库中

["1524042807kdvws.pdf"]

然后 Assets 通过我的 Vue API 作为 JSON 对象的一部分返回

if (count($response->assets) > 0) {
$assets = array();
foreach (json_decode($response->assets, true) as $asset) {
$assets[] = asset($asset);
}
$responses[$key]->assets = $assets;
}

返回 http://127.0.0.1:8000/1524042807kdvws.pdf 但是那个 404s。我觉得自己有点困惑,所以任何指点或帮助都将不胜感激。

最佳答案

所以我在 another post 上找到了答案

我需要将 $file 包装在 file_get_contents() 中;

Storage::disk('public')->put($name, $file);

我使用的不是 asset():

Storage::disk('public')->url($asset['file']);

关于php - 使用 Laravel 在本地保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895173/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com