कोशिश कर रहा है जब अपलोड करने के लिए छवि के लिए पथ डेटाबेस में मैं इस त्रुटि मिलती है "बनाने के डिफ़ॉल्ट वस्तु से खाली मूल्य"

0

सवाल

मैं इस त्रुटि हो रही है "बनाने के डिफ़ॉल्ट वस्तु से खाली मूल्य" जब भी मैं अपलोड करने की कोशिश करें प्रोफ़ाइल छवि के पंजीकरण जब उपयोगकर्ता, क्या मैं क्या करना चाहते है अपलोड करने के लिए छवि के लिए पथ "profile-photos/PP_1637044275.jpg" करने के लिए डेटाबेस, नहीं छवि का नाम, किसी भी मदद की सराहना की जाएगी ।

इस नियंत्रक/वर्ग कार्रवाई

  class CreateNewUser implements CreatesNewUsers
 {
    use PasswordValidationRules;

  /**
 * Validate and create a newly registered user.
 *
 * @param  array  $input
 * @return \App\Models\User
 */
public function create(array $input)
{

    $request = request();

    //Handle profile photo Upload
    if ($request->hasFile('photo')) {
        // Get filename with extention 
        $filenamewithExt = $request->file('photo')->getClientOriginalName();
        // Get just filename
        $filename = pathinfo($filenamewithExt, PATHINFO_FILENAME);
        // Get just Extention
        $extention = $request->file('photo')->getClientOriginalExtension();
        // Filename to store
        $filenameToStore = $filename.'_'.time().'.'.$extention;
        // Upload Image
        $path = $request->file('photo')->storeAs('profile-photos', 
        $filenameToStore);

        $user = new User;
        $user->profile_photo_path = $path;
       

    }

    
 
    if ($request->hasFile('photo')) {
        
        $user->profile_photo_path = $path;
  
       
    }

यह दृश्य है

     <!-- PROFILE INFO -->
    <form method="POST" action="{{ route('register') }}" enctype="multipart/form-data">
    @csrf
    <div x-show.transition.in="step === 1">
    <div class="mb-5 text-center">
    <div class="mx-auto w-32 h-32 mb-2 border rounded-full relative bg-gray-100 mb-4 
    shadow-inset">
      <img id="image" class="object-cover w-full h-32 rounded-full" :src="image" />
    </div>

    <label
      for="fileInput"
      type="button"
      class="cursor-pointer inine-flex justify-between items-center focus:outline-none 
      border py-2 px-4 rounded-lg shadow-sm text-left text-gray-600 bg-white hover:bg- 
      gray-100 font-medium"
    >
      <svg xmlns="http://www.w3.org/2000/svg" class="inline-flex flex-shrink-0 w-6 h-6 - 
       mt-1 mr-1" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" 
        stroke-linecap="round" stroke-linejoin="round">
        <rect x="0" y="0" width="24" height="24" stroke="none"></rect>
        <path d="M5 7h1a2 2 0 0 0 2 -2a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 
      2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2" />
        <circle cx="12" cy="13" r="3" />
      </svg>
      Browse Photo
    </label>

    <div class="mx-auto w-48 text-gray-500 text-xs text-center mt-1">Click to add 
    profile picture</div>

    <input name="photo" id="fileInput" accept="image/*" class="hidden" type="file" 
    @change="let file = document.getElementById('fileInput').files[0];
      var reader = new FileReader();
      reader.onload = (e) => image = e.target.result;
      reader.readAsDataURL(file);">
   </div>
2

सबसे अच्छा जवाब

1

अपने त्रुटि ट्रिगर किया जा सकता द्वारा इस लाइन:

   if ($request->hasFile('photo')) {
     
        $user->profile_photo_path = $path;
      
    }

कोशिश इस के रूप में आप पहले से ही बचाया profile_photo_path इससे पहले और है कि अपने $उपयोगकर्ता चर हो सकता अपरिभाषित यहाँ.

संपादित करें: यदि आप छवि को बचाने के लिए अपने सार्वजनिक डिस्क है, तो आप अभी क्या कर सकते हैं यह:

$user->profile_photo_path = 'profile-photos/'.$filenameToStore;

तो छवि पर अपने ब्लेड द्वारा देखें

<img src="{{asset($user->profile_photo_path)}}">
2021-11-17 08:32:29

बहुत बहुत धन्यवाद, मैं वास्तव में इसे सराहना करते हैं ।
Adam

यकीन है कि बात है । भाग्य का सबसे अच्छा!
fufubrocat
0

यह है कि मैं कैसे इस समस्या का हल है, इरादा था करने के लिए बचाने के लिए छवि/प्रोफाइल फोटो के साथ डेटाबेस के लिए पथ की तरह प्रोफ़ाइल-फोटो/छवि का नाम नहीं है, बस छवि/फ़ाइल नाम

   if ($request->hasFile('photo')) {
    // Get filename with extention 
    $ImageNameWithExt = $request->file('photo')->getClientOriginalName();
    // Get just filename
    $ImageName = pathinfo($ImageNameWithExt, PATHINFO_FILENAME);
    // Get just Extention
    $Extentions = $request->file('photo')->getClientOriginalExtension();
    // Filename to store
    $filenameToStore = $ImageName.'_'.time().'.'.$Extentions;
    // Upload Image
    $paths = $request->file('photo')->storeAs('public/profile-photos', 
    $filenameToStore);

    $path = 'profile-photos';
    $user = new User;
    $user->profile_photo_path =  $path . '/' . $filenameToStore;


}

        $imageWithPath = $user->profile_photo_path;

        $user =  User::create([
        'profile_photo_path'=> $imageWithPath,
        'username'          => $input['username'],
2021-11-17 04:08:15

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में