اذهب إلى المحتوى
  • 0

عند رفع الصورة في الصفحة الشخصية في تطبيق jetstream لا تحفظ التغيرات

Maher Gaber

السؤال

يتم تحميل الصورة ولكن لا تظهر بعد الضغط على زر الحفظ 

اعمل باطار العمل Laravel وتم استخدام مكتبه jetstream  وايضا قمت بالعمل على  الامر  php artisan storage:link

screencapture-127-0-0-1-8000-user-profile-2021-05-21-23_46_23.png

screencapture-127-0-0-1-8000-user-profile-2021-05-21-23_44_23 (1).png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 11 دقائق مضت قال Maher Gaber:

نعم المشكله موجودة وهذه الملفات 

DatabaseSeeder.php

PostFactory .php

UserFactory.php

كل الملفات سليمة  .

المشكلة في إستدعاء التابع factory في هذا السطر : 

Post::factory()

ليكن في العلم أن هاته الدالة يتم توفيرها من قبل السمة HasFactory .

تأكد فقط أن تضيفها إلى مودل المنشور Post على هذا النحو : 

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
  
class Post extends Model
{
   use HasFactory;
    
   // some code
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

في ملف jetstream.php الخاص بالإعدادات تجد أن jetstream يستخدم:

'profile_photo_disk' => 'public',

و إذا ذهبنا إلى ملف الإعدادات الخاص ب filesystem نجد: 

<?php
'public' => [
  'driver' => 'local',
  'root' => storage_path('app/public'),
  'url' => env('APP_URL').'/storage',
  'visibility' => 'public',
],

اي أن ال disk public يعتمد على الثابت: APP_URL في ملف env. و يعتمد على الوصلة التي يتم إنشاؤها بين مُجلد storage و مُجلد public لذلك عليك الإنتباه لهذا الأمر:

فأولا قم بإنشاء الوصلة عن طريق الأمر:

php artisan storage:link

بعد ذلك إن كنت تتصفح المشروع عن طريق:

http://127.0.0.1:8000

عليك تعديل قيمة APP_URL بهذا الشكل:

APP_URL=http://127.0.0.1:8000

و بهذا الشكل ستظهر الصور بشكل طبيعي، أما إن كنت تستخدم خادم وهمي بالرابط التالي مثلاً:

http://blog.test

تحتاج إلى وضع ذلك الرابط في APP_URL بنفس الطريقة:

APP_URL=http://blog.test

و في هذه الحالة ستظهر الصور أيضاً.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تحميل صور بروفايل مخصصة في مكتبة jetstream في لارافل يحتاج منك تمكين هاته الميزة في ملف الإعداد config / jetstream.php الخاص بتطبيقك.

لتمكين الميزة ، قم ببساطة بإلغاء تعليق الميزة profilePhotos من مصفوفة الميزات على هذا النحو :

<?php 

use Laravel\Jetstream\Features;

'features' => [
    Features::profilePhotos(),
    Features::api(),
    Features::teams(),
],

بعد ذلك تحتاج إنشاء الرابط الرمزي للتخزين من جديد : 

php artisan storage:link

و لا تنس محو التخزين المؤقت و إعادة تخزين ملف الإعداد : 

php artisan cache:clear

php artisan config:cache

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 ساعات قال عبود سمير:

في ملف jetstream.php الخاص بالإعدادات تجد أن jetstream يستخدم:


'profile_photo_disk' => 'public',

و إذا ذهبنا إلى ملف الإعدادات الخاص ب filesystem نجد: 


<?php
'public' => [
  'driver' => 'local',
  'root' => storage_path('app/public'),
  'url' => env('APP_URL').'/storage',
  'visibility' => 'public',
],

اي أن ال disk public يعتمد على الثابت: APP_URL في ملف env. و يعتمد على الوصلة التي يتم إنشاؤها بين مُجلد storage و مُجلد public لذلك عليك الإنتباه لهذا الأمر:

فأولا قم بإنشاء الوصلة عن طريق الأمر:


php artisan storage:link

بعد ذلك إن كنت تتصفح المشروع عن طريق:


http://127.0.0.1:8000

عليك تعديل قيمة APP_URL بهذا الشكل:


APP_URL=http://127.0.0.1:8000

و بهذا الشكل ستظهر الصور بشكل طبيعي، أما إن كنت تستخدم خادم وهمي بالرابط التالي مثلاً:


http://blog.test

تحتاج إلى وضع ذلك الرابط في APP_URL بنفس الطريقة:


APP_URL=http://blog.test

و في هذه الحالة ستظهر الصور أيضاً.

هذة الاعدادت موجودة بالفعل فى الملفات للمشروع مع العلم ان عند رفع الصورة كانت تعمل وبالاخير اصبحت لا تعمل لدى 

بتاريخ 2 ساعات قال Adnane Kadri:

تحميل صور بروفايل مخصصة في مكتبة jetstream في لارافل يحتاج منك تمكين هاته الميزة في ملف الإعداد config / jetstream.php الخاص بتطبيقك.

لتمكين الميزة ، قم ببساطة بإلغاء تعليق الميزة profilePhotos من مصفوفة الميزات على هذا النحو :


<?php 

use Laravel\Jetstream\Features;

'features' => [
    Features::profilePhotos(),
    Features::api(),
    Features::teams(),
],

بعد ذلك تحتاج إنشاء الرابط الرمزي للتخزين من جديد : 


php artisan storage:link

و لا تنس محو التخزين المؤقت و إعادة تخزين ملف الإعداد : 


php artisan cache:clear

php artisan config:cache

 

تم تنظيف الذاكرة العشوائيه وتفعيل كل features فى المكتبه وايضا لا تعمل لدى اذا اردت ان اعرض ملف معين لامشكله بامكانى اعرض اى ملفات تريدها 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال Maher Gaber:

هذة الاعدادت موجودة بالفعل فى الملفات للمشروع مع العلم ان عند رفع الصورة كانت تعمل وبالاخير اصبحت لا تعمل لدى 

يجب أن يكون APP_URL موافق لرابط التصفح حتى يتم عرض الصور بنجاح 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 12 ساعات قال عبود سمير:

يجب أن يكون APP_URL موافق لرابط التصفح حتى يتم عرض الصور بنجاح 

 

بتاريخ 14 ساعات قال Adnane Kadri:

تحميل صور بروفايل مخصصة في مكتبة jetstream في لارافل يحتاج منك تمكين هاته الميزة في ملف الإعداد config / jetstream.php الخاص بتطبيقك.

لتمكين الميزة ، قم ببساطة بإلغاء تعليق الميزة profilePhotos من مصفوفة الميزات على هذا النحو :


<?php 

use Laravel\Jetstream\Features;

'features' => [
    Features::profilePhotos(),
    Features::api(),
    Features::teams(),
],

بعد ذلك تحتاج إنشاء الرابط الرمزي للتخزين من جديد : 


php artisan storage:link

و لا تنس محو التخزين المؤقت و إعادة تخزين ملف الإعداد : 


php artisan cache:clear

php artisan config:cache

 

شكرا لكم لقد حذفت المشروع وقمت بالعمل من جديد ولكن تظهر مشكله اخرى وهيا عند تنفيذ هذا الامر يظهر هذا الخطاء ؟ لماذا وماذا يجب ان اعمل عليه او اى ملف اقوم بالتعديل عليه ؟

UserFactory.php - Instagram - Visual Studio Code 5_22_2021 3_21_22 PM.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Maher Gaber:

UserFactory.php - Instagram - Visual Studio Code 5_22_2021 3_21_22 PM.png

يبدوا أن لديك خطأ في تسمية و إستدعاء أحد الـ Factories 

لاحظ أنه لا يوجد أي factory باسم PostFactory في حين أنه يوجد باسم PostfactoryFatory . 

للتخلص من المشكلة يرجى إصلاح التسمية و الإستدعاء من داخل الـ seeder على نحو صحيح  . 

قم بإعادة تسمية الملف PostfactoryFatory إلى PostFactory و طبعا لا تنسى تغيير اسم الكلاس بالملف : 

<?php 

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class PostFactory extends Factory
{
   ...
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...