亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 圖片上傳到數據庫

Laravel 圖片上傳到數據庫

PHP
鳳凰求蠱 2023-10-15 16:44:55
這個函數是我用來存儲新公司的函數:public function store(Request $request){       $file = $request->file('logo');    $filename = 'company-logo-' . time() . '.' . $file->getClientOriginalExtension();    $path = $file->storeAs('public', $filename);    dd($path);                Company::create([        'name' => $request->name,        'email' => $request->email,        'logo' => $request->logo,        'website' => $request->website    ]);    return redirect('/company/all');}該視圖的形式如下:@extends('layouts.app')@section('content')    <div class="card">        <div class="card-body">            <h4 class="card-title">Create a Company</h4>        </div>        <div class="container">            <div class="jumbotron">                <ul class="list-group">                    <li class="list-group-item">                        <h3>Enter Company Information:</h3>                        <form action="{{ route('company.store') }}" enctype="mutlipart/form-data" method="POST">                            @csrf                            <div class="form-group">                                <input type="text" class="form-control" name="name" placeholder="Company name" value="{{ old('name') }}">                            </div>                            <div class="form-group">                                <input type="text" class="form-control" name="email" placeholder="Email" value="{{ old('email') }}">                            </div>                            <div class="form-group">                                <input class="form-control" type="file" name="logo">                            </div>基本上我想要做的是將圖像的名稱發送到數據庫并將圖像上傳到我的公共文件夾。這段代碼兩者都沒有發生。當我刪除從 $file 開始直到 dd($path) 的部分時;它將值添加到數據庫,但圖像尚未上傳。有什么幫助嗎?提前致謝。
查看完整描述

5 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

首先,表單上的屬性是錯誤的,enctype="mutlipart/form-data"而且應該是錯誤的enctype="multipart/form-data"


或者您可以根據您的要求使用以下代碼:


if($request->hasFile('logo')){

        $file = $request->file('logo');

        $fileName = 'company-logo-' .time().$file->getClientOriginalName();

        Storage::put('public/'.$fileName,file_get_contents($file));

        now you can store the $filename variable in database and image will be uploaded to storage/app/public folder

    }

請添加use Storage到文件頂部并運行php artisan storage:link以在存儲文件夾和公共文件夾之間建立符號鏈接


查看完整回答
反對 回復 2023-10-15
?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

首先你改變enctype="multipart/form-data"而不是enctype="mutlipart/form-data"你的形式。 然后將此代碼放入您的控制器


public function store(Request $request)

{

  if($request->hasFile('logo')) {

    $img_ext = $request->file('logo')->getClientOriginalExtension();

    $filename = 'company-logo-' . time() . '.' . $img_ext;

    $path = $request->file('logo')->move(public_path(), $filename);//image save public folder

  }

  //You should store only filename not path in db

  Company::create([

    'name' => $request->name,

    'email' => $request->email,

    'logo' => $filename, 

    'website' => $request->website

  ]);


    return redirect('/company/all');

}


查看完整回答
反對 回復 2023-10-15
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

您可以使用文件池。核心庫是用普通 JavaScript 編寫的,因此可以在任何地方使用。?

查看完整回答
反對 回復 2023-10-15
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

嘗試更改為:


public function store(Request $request)

{   


    $file = $request->file('logo');

    $path = '';

    if($file) {

        $filename = 'company-logo-' . time() . '.' . $file->getClientOriginalExtension();

        $path = $file->storeAs('public', $filename);

    }            


    Company::create([

        'name' => $request->name,

        'email' => $request->email,

        'logo' => $path,

        'website' => $request->website

    ]);


    return redirect('/company/all');

}


查看完整回答
反對 回復 2023-10-15
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

  if (Input::hasFile('logo')) {

                $file = Input::file('logo');

                $ext = $file->getClientOriginalExtension();

                $file_name = 'company-logo-' . time() . ".{$ext}";

                $path = base_path().'/public/';

                $file->move($path , $file_name);

            }


查看完整回答
反對 回復 2023-10-15
  • 5 回答
  • 0 關注
  • 198 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號