【问题标题】:I want to upload a user image with Laravel我想用 Laravel 上传用户图片
【发布时间】:2019-01-06 15:14:55
【问题描述】:

我想用 Laravel 上传一张用户图片。我将照片上传到存储文件夹,但它没有出现在我的视觉视图页面上。如何更改照片的路径? 我的代码: 文件名称:控制器

public function postSaveAccount(Request $request)
{
    $this->validate($request, [
        'first_name' => 'required| max:50'
    ]);
    $user = Auth::user();
    $user->first_name = $request['first_name'];
    $user->update();
    $file = $request->file('image');
    $filename =  $request['first_name']. '-' . $user->id . '.jpg';
    if($file) {
        Storage::disk('local')->put($filename, File::get($file));
    }
    return redirect()->route('account');
}
public function getUserImage($filename)
{
    $file = Storage::disk('local')->get($filename);
    return new Response($file, 200);
}

我的代码:

文件名:account.blade.php

<section class="row new-post">
    <div class="col-md-6 col-md-offset-3">
        <header><h3>Your Account</h3></header>
        <form action="{{route('account.save')}}" method="post" enctype="multipart/form-data">
            <div class="form-group">
                <label for="first_name">First Name</label>
                <input type="text" name="first_name" class="form-control" value="{{$user->first_name}}" id="first_name">
            </div>
            <div class="form-group">
                <label for="image">Image (Only.jpg)</label>
                <input type="file" name="image" class="form-control" id="image">
            </div>
            <button type="submit" class="btn btn-primary">Save Account</button>
            <input type="hidden" value="{{Session::token()}}" name="_token">

        </form>
    </div>
</section>
@if(Storage::disk('local')->has($user->first_name. '-' . $user->id . '.jpg'))
<section class="row new-post">
    <div class="col-md-6">
        <img src="{{route('account.image',['filename' => $user->first_name. '-' .$user->id. '.jpg']) }}" alt="" class="img-responsive">
    </div>

</section>

【问题讨论】:

  • 你能解释一下到底是什么问题吗?您尝试过什么调试?
  • 页面没有错误。但是我安装的可视化仪表板没有出现在该部分中
  • 如果没有更多信息,很难说问题出在哪里...您检查了页面吗? &lt;img&gt; 在场吗?您是否检查了存储文件夹以查看图像是否正确上传?
  • 我绝对同意困难,但让我解释一下,我正在上传带有 bi 表格的照片,我想在视图部分显示照片。文件加载成功,但是因为照片没有出现文件路径,我可以用控制器部分的代码更改文件的路径以及如何安装它
  • 你能更新你的相关路线吗?

标签: php laravel


【解决方案1】:

您可以像这样上传图片:

public function store(Request $request)
{
    $imgLocation = Storage::disk('public')->put(time() . '.' . $request->file('image')->getClientOriginalName(), $request->gif), $request->file('image'));

    // you may need this to save it in an image model / table if dont skip this creation
    $image = Image::create([
        'name' => $request->name,
        'path' => $imgLocation
    ]);

    if ($video) {
        return response()->json("Success!");
    }

    return response()->json("Error!");

    // You can also return redirect()->route('image.index')...
}

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 2022-07-27
    • 2017-02-07
    • 2021-07-07
    • 2020-03-25
    • 2016-08-16
    • 2020-07-04
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多