كيف يمكنني استرجاع صورة باستخدام iText عندما URL ديه الموجهات؟

StackOverflow https://stackoverflow.com/questions/305337

  •  08-07-2019
  •  | 
  •  

سؤال

وأستخدمه iText لتوليد الفواتير PDF لتطبيق J2EE شبكة الإنترنت، والمدرجة على الصفحة هو صورة قراءة من URL شيدت من URL الطلب. في بيئات التطوير والاختبار هذا يعمل بشكل جيد، ولكن في الإنتاج أحصل على java.io.IOException: ليس imageformat المعترف بها

إذا كنت لصق عنوان الموقع في المتصفح الخاص بي ثم يتم إرجاع الصورة الصحيحة، ولكن طلب إعادة توجيه من HTTP إلى https. في قانون بلدي إذا أنا بجد رمز URL إعادة توجيه ثم يتم عرض الصورة بشكل صحيح.

وهكذا يبدو أن عند استرداد الصورة باستخدام com.lowagie.text.Image.getInstance (URL)، لا يتم أعقبت الموجهات على URL. كيف يمكنني إخراج صورة من URL إعادة توجيه باستخدام iText؟

هل كانت مفيدة؟

المحلول

حسنا،

إذا كنت تسأل عن صورة من URL، فإنه يجب أن نشير في الواقع إلى الصورة. إذا كانت نقطة URL لصفحة ويب التي تعيد توجيه ثم إلى URL آخر (أو رمز الإرجاع من URL هو إعادة توجيه)، ثم أنها سوف تفشل.

وهذا يرجع أساسا إلى الطريقة getInstance () فهم كيفية استخدام بروتوكول HTTP موقع للحصول على الملف، ولكن لا فهم بروتوكول HTTP بما يكفي لتكون عميل HTTP هذا.

هل يمكن أن مجرد استخدام "HTTPS" عنوان، أو هل يمكن تخزين صورة مع البرنامج وتحديد موقع كما يقترح CFreiner. إذا لم يكن أي من هذه الخيارات ممكنا، ثم الحل الحقيقي الوحيد هو تنفيذ كود للاستعلام عن URL، معرفة ما اذا كان هو إعادة توجيه وإذا كان اتباع إعادة التوجيه.

نصائح أخرى

هل هناك سبب لديك للحصول على هذه باستخدام URL ؟؟ هل لديك لتتناسب مع الصورة التي رابط يشير إلى؟ ماذا لو يتغير أو يحصل على إزالة؟

وأنا لست متأكدا من الشرط الخاص بك، ولكن قد يكون من الأسهل لحفظ الصورة من رابط ووضعه في مكان ما داخل المشروع. ثم يمكنك إضافته إلى قوات الدفاع الشعبي مع:

Image.getInstance("yourimage.gif");

وعندما يكون لديك العديد من الموجهات لا يمكنك استخدام رابط. بدلا من رابط، يمكنك تحديد مسار الصورة في Image.getInstance("path"). يمكنك وضع ملف GIF في حزمة النشر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top