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

تحميل الملفات في لارافيل

Amir Alsaeed

السؤال

أرغب بإضافة زر على واجهة المستخدم تمكّنه من تحميل ملف معيّن دون إعادة التوجيه إلى أي واجهة أخرى.

حاولت إضافة رابط ضمن الواجهة:

  <a href="/download">ابدأ التحميل</a>

وقمت بربط المسار مع المتحكم الخاص بالتحميل:

Route::get('/download', 'MainController@download');

وضمن المتحكم قمت بكتابة الكود التالي:

public function download(){
        $file="./download/testfile.pdf";
        return Response::download($file);
}

ولكن عند الضغط على الزر يظهر الخطأ التالي:

The file "/public/download/testfile.pdf" does not exist

كيف أستطيع حل هذه المشكلة؟

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

Recommended Posts

  • 1

يمكنك أن تضيف header في التابع download بالشكل التالي:

public function download(){
  $headers = ['Content-Type' => 'application/pdf'];

  // ضع هنا مسار الملف الصحيح
  $file = asset("/download/testfile.pdf");

  // filename.pdf هو اسم الملف عند التحميل
  return response()->download($file, 'filename.pdf', $headers);
}

بهذا الشكل سيتم تحميل ملف PDF بشكل صحيح.

بالتوفيق.

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

  • 0

يمكنك إجراء بعض التعديلات على دالة download لتصبح بهذا الشكل 

public function getDownload()
{
    $file= public_path(). "/download/testfile.pdf";

    $headers = array(
              'Content-Type: application/pdf',
            );

    return Response::download($file, 'filename.pdf', $headers);
}

أو يمكنك استخدام 

return response()->download(public_path('file_path/from_public_dir.pdf'));

 

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

  • 0
بتاريخ On 3/20/2021 at 14:14 قال Alfakiat:

 


 $file= public_path() . "./download/file.pdf";

 

باستخدام هذه الطريقة يصبح الوصول للملف وتحميله عن طريق المسار الكامل للملف

فيصبح بهذا الشكل

http://sample.com/download/file.pdf

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...