我上传所有用户文件到目录:
/resources/app/uploads/
字符串
我尝试通过完整路径获取图像:
http://localhost/resources/app/uploads/e00bdaa62492a320b78b203e2980169c.jpg
型
但我得到错误:
NotFoundHttpException in RouteCollection.php line 161:
型
如何通过此路径获取图像?
现在我尝试在根目录/public/uploads/中uplaod文件:
$destinationPath = public_path(sprintf("\\uploads\\%s\\", str_random(8)));
$uploaded = Storage::put($destinationPath. $fileName, file_get_contents($file->getRealPath()));
型
它给了我错误:
Impossible to create the root directory
型
6条答案
按热度按时间vxqlmq5t1#
您可以专门为显示图像创建路径。
举例来说:
字符串
所以现在你可以转到
localhost/resources/app/uploads/filename.png
,它应该显示图像。h79rfbju2#
您可以在您的刀片文件上尝试此操作。图像文件夹位于公用文件夹中
字符串
对于Laravel的后续版本(5.7以上):
型
up9lanfz3#
如果要从刀片式服务器调用,请尝试
{{asset('path/to/your/image.jpg')}}
或
$url = asset('path/to/your/image.jpg');
如果你想在你的控制器。希望有帮助=)
ax6ht2ek4#
正如@alfonz提到的,
resource_path()
是获取资源文件夹目录的正确方法。要获取特定的文件位置,代码如下所示字符串
kyvafyod5#
首先,更改config/filesystems.php
字符串
然后正常运行
型
您将获得文件URL。
s3fp2yjn6#
Laravel 10 Asset Bundling(Vite)
如果你想处理和版本化存储在
resources/images
中的所有图像,你应该在你的应用程序的入口点resources/js/app.js
中添加以下内容字符串
然后像这样在Blade中引用这些资产
型
要让它工作,需要构建
npm run build
或运行Vite开发服务器npm run dev
欲了解更多信息,请访问https://laravel.com/docs/10.x/vite#blade-processing-static-assets