douguai4653 2019-01-06 15:14
浏览 72
已采纳

我想用Laravel上传用户图片

I want to upload a user image with Laravel. I upload the photo to the storage folder, but it doesn't appear on my visual view page.How can I change the path of a photo? My Codes: File Name:Controller

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);
}

My Codes:

File Name: 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>
  • 写回答

1条回答 默认 最新

  • dre93205 2019-01-06 16:26
    关注

    You can upload an image like this:

    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')...
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab