如何在 laravel 中从网络浏览器访问上传的文件?
how to access uploaded file from web-browser in laravel?
这是我将文件上传到 laravel 项目中所做的。
if($request->file()) {
$fileName = time().'_'.$request->file('imageFile')->getClientOriginalName();
$filePath = $request->file('imageFile')->storeAs('products', $fileName, 'public');
$product->featured_image = '/storage/' . $filePath;
}
public磁盘
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
文件已上传到 app/public/products 内的存储文件夹中,但当我尝试检索我的文件时显示 404 错误。即使我已经用 public 文件夹创建了符号 link 但没有工作。
我不明白为什么 public 文件夹中没有显示文件。文件仅上传项目级别或存储文件夹内的私人文件夹。如何通过网络浏览器访问该文件。
首先你创建了符号 link
php aritsan storage:link
这将在 public 文件夹中创建快捷方式存储文件夹
这样您就可以访问 url
asset('storage/products/filename')
在您的情况下,您需要在存储时更改路径
$product->featured_image = $fileName;
因此在访问时
asset('storage/products/'.$product->featured_image )
根据文档 - “要使这些文件可从 Web 访问,您应该创建一个从 public/storage 到 storage/app/public 的符号 link”
php artisan storage:link
这是我将文件上传到 laravel 项目中所做的。
if($request->file()) {
$fileName = time().'_'.$request->file('imageFile')->getClientOriginalName();
$filePath = $request->file('imageFile')->storeAs('products', $fileName, 'public');
$product->featured_image = '/storage/' . $filePath;
}
public磁盘
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
文件已上传到 app/public/products 内的存储文件夹中,但当我尝试检索我的文件时显示 404 错误。即使我已经用 public 文件夹创建了符号 link 但没有工作。 我不明白为什么 public 文件夹中没有显示文件。文件仅上传项目级别或存储文件夹内的私人文件夹。如何通过网络浏览器访问该文件。
首先你创建了符号 link
php aritsan storage:link
这将在 public 文件夹中创建快捷方式存储文件夹
这样您就可以访问 url
asset('storage/products/filename')
在您的情况下,您需要在存储时更改路径
$product->featured_image = $fileName;
因此在访问时
asset('storage/products/'.$product->featured_image )
根据文档 - “要使这些文件可从 Web 访问,您应该创建一个从 public/storage 到 storage/app/public 的符号 link”
php artisan storage:link