ค้นหาเว็บไซต์

angular - Ionic 3 ดึงเนื้อหาของไฟล์ทรัพยากร


ฉันกำลังสร้างแอปเพื่อแสดงเนื้อหาของหนังสือ ฉันมี 3 หน้าในแอปนี้:

หน้า 1. รายการปุ่มที่ลิงก์ไปยังบทต่าง ๆ; (ChaptersPage)
หน้า 2. รายการปุ่มที่ลิงก์ไปยังหน้าของบท; (PagesPage)
หน้า 3. เนื้อหาของหน้า; (PageContentPage)

หน้าที่ 1 และ 2 อยู่ภายในแท็บ ดังนั้นเมื่อผู้ใช้เลือกบท เขาจะไปที่แท็บถัดไป จากนั้นเลือกหน้าของบทนั้นแล้วจึงดูเนื้อหาของหน้า แท็บจะมีลักษณะดังนี้:

ทุกหน้าและทุกบทอยู่ในโฟลเดอร์ของเขาเอง โฟลเดอร์แอปของฉันมีลักษณะดังนี้:

src
|_ app
|_ assets
   |_ icon
   |_ images
   |_ chapters
      |_ 1
         |_page_1.txt
         |_page_2.txt
      |_ 2
         |_page_1.txt
         |_page_2.txt
      |_ 3
         |_page_1.txt
         |_page_2.txt
      |_  ...
|_ pages
|_ services
|_ ...

ก่อนอื่น เมื่อผู้ใช้เลือกบท ฉันต้องดูว่ามีกี่หน้าในโฟลเดอร์บทนั้น เพื่อที่ฉันจะได้แสดงจำนวนปุ่มที่ถูกต้อง ฉันพยายามใช้ปลั๊กอิน File ของ Ionic Native แต่ไม่สำเร็จ การใช้ตัวอย่างจากเอกสารปลั๊กอินไฟล์ ฉันมักจะได้ข้อความว่า "Directory doesn’t exist"

this.file.checkDir(this.file.applicationDirectory, 'assets/chapters/2').then(_ => 
   console.log('Directory exists')
).catch(err => console.log('Directory doesnt exist'));

ดังนั้น คำถามของฉันคือ: ฉันจะอ่านได้อย่างไรว่ามีไฟล์กี่ไฟล์อยู่ในโฟลเดอร์บท? และหลังจากนั้น ฉันจะดึงเนื้อหาของ page.txt ได้อย่างไร?

คำตอบ #1

readPage() {
    this.http.request('../assets/chapters/1/page_1.txt')
          .map(res => res.text())
          .subscribe(text => {
            this.txtContent= text;
          })
          .catch(error => {
            console.err("Path not found with error:", error);
          });
}

คำตอบ #2

ก่อนอื่นให้เปลี่ยนบล็อกโค้ดนี้ ซึ่งจะพาคุณไปยังไดเร็กทอรีที่คุณต้องการ

this.file.checkDir(this.file.applicationDirectory, './chapters/2').then(_ => 
   console.log('Directory exists')
).catch(err => console.log('Directory doesnt exist'));

บทความที่เกี่ยวข้อง