استخدام نتيجة الدفق مع Struts2
-
05-07-2019 - |
سؤال
أحاول استخدام نتيجة الدفق لإرجاع صورة من تطبيق struts2.يبدو أنني أواجه مشكلة في تكوين الإجراء.هنا هو التكوين:
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">filename="${filename}"</param>
<param name="bufferSize">1024</param>
</result>
يبدو أن المشكلة تكمن في معلمة inputName والتي وفقًا للمستندات هي:
اسم خاصية InputStream من الإجراء المتسلسل (افتراضي = inputStream).
لست متأكدًا من الاسم الذي يجب أن أضعه هناك.الخطأ الذي أحصل عليه هو:
لا يمكن العثور على java.io.InputStream بالاسم [inputStream] في مكدس الاستدعاء.
هل استخدم أحد هذا من قبل؟اي نصيحه؟
شكرًا.
المحلول 2
وجدت هذا والذي أوضح أن InputStream
يجب أن يتم إنشاؤه بواسطتي.فمن المنطقي أن أقوم بإنشاء InputStream
من الملف الذي أريد أن يقوم المستخدم بتنزيله ثم تمرير الدفق إلى النتيجة.أعتقد أن هذا هو جوابي.
نصائح أخرى
وأعتقد أن لديك لcontentDisposition خطأ، يجب أن يكون:
<param name="contentDisposition">attachment; filename="${filename}"</param>
(<م> كريس م>)
وInputname يحدد اسم الأسلوب أن إخراج "تيار"
وInputStream getInputStream الجمهور () { العودة ByteArrayInputStream الجديد (_bytes)؛ }