Unfortunately, no. 
مرحبًا، واجهتُ نفس المشكلة.
ملف PDF لا يُعرض، بل يتم تنزيله دائمًا، بغض النظر عن الإعدادات في متصفحي (Chrome أو Firefox).
بناءً على ما قرأته، يبدو أن المشكلة مرتبطة بـ content_type للملف.
لقد عثرتُ على هذا:
سؤال رائع! ما يحدد هذا الإجراء هو رأس “Content-type” المرسل من الخادم إلى العميل. يمكنك تحديد قيمة هذا الرأس باستخدام أدوات متوافقة مع S3. هناك شرح جيد لذلك هنا:
لكنني لم أستطع التقدم في حل المشكلة.
يبدو أن المشكلة تكمن في تحديد Content-Type أو content-disposition، لكنني لا أعرف ما إذا كان يجب عليّ فعل ذلك أثناء الرفع.
ربما يمكن لبعض الخبراء مساعدتنا.
وجدت هذه المعلومات أكثر وضوحًا من سابقتها. مشكلتي هي أنني لا أعرف كيف أستخدمها لحل الموقف. ![]()
إذا كنت تريد من المتصفح التعامل مع الملف كملف PDF، فيجب أن تخبره بأن الملف من نوع PDF. والطريقة للقيام بذلك هي إرسال الرأس (header) المناسب:
Content-type: application/pdfالرأس الحالي الذي ترسله S3 هو:
Content-type: application/octet-streamبما أنك ترفع الملفات إلى S3، يمكنك إما تعيين نوع MIME الصحيح للملف أثناء الرفع، أو بعد ذلك باستخدام بعض أدوات S3 (مثل s3cmd لنظام ويندوز، على سبيل المثال).
وفقًا للرابط الخاص بالوثائق التي زودتنا بها، فإن دالة putObjectFile ملغاة، ولكن هذا هو تعريفها:
putObjectFile (string $file, string $bucket, string $uri, [constant $acl = S3::ACL_PRIVATE], [array $metaHeaders = array()], [string $contentType = null])كما تلاحظ - المعامل الأخير هو contentType - لذا يمكنك تعيينه إلى application/pdf عند رفع الملف.
سيؤدي هذا إلى تعيين الرأس الصحيح عند التنزيل.