laravel上传图片和使用

laravel上传图片和使用

public目录创建storage的链接

laravel默认使用storage目录存储文件,而网站根目录在public

php artisan storage:link

将storage/app/public目录链接到public/storage目录,从而浏览器可以使用上传的文件

上传文件并获取路径

$path = $request->file('avatar')->store('avatars', 'public');

laravel存储分不同的磁盘,public盘就是存储在storage/app/public目录

上面代码是存储上传的名为avatar的图片存储在public盘的avatars目录

返回的path为avatars/xxxyyy.png,前端并不能直接使用。

echo asset(Storage::url($path));

asset函数返回完整的URL,即:http://laravel.test/storage/avatars/xxxyyy.png,浏览器可以直接访问。

同时支持s3,ftp,sftp等协议的网络文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel上传图片并回显,你可以按照以下步骤进行操作: 1. 在表单中添加文件上传字段: ```html <form method="POST" action="/upload" enctype="multipart/form-data"> @csrf <input type="file" name="image"> <button type="submit">上传图片</button> </form> ``` 2. 在路由中定义上传图片的处理逻辑: ```php use Illuminate\Http\Request; Route::post('/upload', function (Request $request) { if ($request->hasFile('image')) { $path = $request->file('image')->store('public/images'); // 存储的路径为 "storage/images/filename" // 如果你想要访问图片,可以将路径存储到数据库,并使用 Storage::url() 获取完整路径 // 也可以直接拼接 URL,例如:$url = '/storage/images/' . $request->file('image')->hashName(); return redirect()->back()->with('success', '图片上传成功'); } return redirect()->back()->with('error', '请选择要上传的图片'); }); ``` 3. 在视图中回显上传的图片: ```html @if(session('success')) <div class="alert alert-success">{{ session('success') }}</div> @endif @if(session('error')) <div class="alert alert-danger">{{ session('error') }}</div> @endif @if(isset($url)) <img src="{{ $url }}" alt="Uploaded Image"> @endif ``` 上述代码中,`$url` 是存储图片路径的变量,可以在控制器中把它传递给视图。使用`$url`作为图片的`src`属性值,图片就会回显在页面上。 请确保在进行文件上传时,已经配置好了Laravel的文件存储系统,并且有合适的权限以保存和访问上传的图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值