ตอบสนอง Native display PDF ในมุมมองเว็บ Android

ฉันมีแอป React Native ซึ่งในบางหน้าฉันมีมุมมองเว็บ (react-native-webview) สำหรับแสดง PDF จากเซิร์ฟเวอร์ของเรา

ใน iOS ทุกอย่างทำงานได้ดีใน Android ทุกครั้งที่ฉันพยายามดูไฟล์ที่ฉันได้รับ:

Cannot downoad files as permission was denined. Please provide permission to write to storage, in order to download files.

จากนั้น ฉันได้เพิ่ม <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ลงในรายการของฉันแล้ว ตอนนี้ฉันได้รับการแจ้งเตือนต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันคิดว่ามันค่อนข้างน่ากลัวและโง่มากจากมุมมองของผู้ใช้ ฉันไม่ได้เข้าถึงรูปภาพ สื่อ หรือไฟล์ สิ่งที่ฉันพยายามทำคือแสดง PDF แบบธรรมดาในมุมมองเว็บ ฉันไม่ต้องการให้ผู้ใช้ของฉันได้รับการแจ้งเตือนเช่นนี้

เมื่อฉันแตะอนุญาต มันขึ้นว่า Downloading... และดาวน์โหลดไฟล์ PDF เหมือนกับไฟล์ที่สามารถเปิดนอกแอปของฉันได้ ฉันไม่ต้องการพฤติกรรมนี้ ฉันต้องการให้ PDF แสดงผลภายในมุมมองเว็บเหมือนกับที่ iOS ทำ

ฉันจะแสดง PDF ใน Android โดยใช้ React Native web view ได้อย่างไร โดยไม่มีกล่องโต้ตอบที่น่ากลัวซึ่งไม่เกี่ยวข้องกับสิ่งที่ฉันพยายามทำจริงๆ

(ฉันใช้ React Native 0.59.9, Android 8.1, Android SDK 28, react-native-web-view 5.12.0)


comment
ฉันจำได้ว่าเพิ่ม URL pdf ต่อท้าย URL ของโปรแกรมดู Google doc เพื่อแสดงไว้ใน RN webview บน Android แบบนั้นhttps://docs.google.com/gview?embedded=true&url=<pdf-url-goes-here>. ไฟล์ที่ได้รับการดาวน์โหลดอาจเป็นเพราะส่วนหัวการตอบกลับ Content-Disposition: attachment สำหรับไฟล์ pdf ส่วนหัวนี้จะบังคับให้เบราว์เซอร์ดาวน์โหลดไฟล์ก่อนจึงจะอนุญาตให้ดูเนื้อหาได้   -  person Amar    schedule 11.07.2019
comment
@Amar PDF บางส่วนอยู่บนเซิร์ฟเวอร์ที่ต้องมีการตรวจสอบสิทธิ์ ไม่แน่ใจว่าการฝังด้วยวิธีนั้นจะได้ผลหรือไม่   -  person Can Poyrazoğlu    schedule 11.07.2019
comment
@Amar น่าเสียดายที่ฉันต้องการโปรแกรมดูเอกสารทั่วไป อาจเป็น HTML, PDF หรืออะไรก็ได้ที่มุมมองเว็บปกติจะเปิดขึ้น หรืออาจอยู่เบื้องหลังการตรวจสอบสิทธิ์หรือไม่ก็ได้ ฉันไม่รู้เนื้อหาล่วงหน้า รู้แค่ว่า มี auth และเป็นเอกสาร   -  person Can Poyrazoğlu    schedule 11.07.2019


คำตอบ (1)


หลังจากลองหลายๆ อย่างแล้ว ฉันก็ล้มเลิกการแสดง PDF โดยตรงและแปลงเป็น HTML เห็นได้ชัดว่าไม่มีวิธีที่เชื่อถือได้ในการแสดง PDF ในเบราว์เซอร์เริ่มต้น (การดู PDF โดยตรง อาจ ทำงานได้บนเครื่องบางเครื่อง แต่ไม่น่าเชื่อถืออย่างแน่นอน เนื่องจากไม่ได้แสดงบนอุปกรณ์/โปรแกรมจำลองของฉัน)

person Can Poyrazoğlu    schedule 28.07.2019