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

javascript - Ionic - อ่านไฟล์จาก URI


ผู้ใช้แอปพลิเคชันของฉันสามารถเลือกและครอบตัดรูปภาพโดยใช้ Ionic Native - Crop หลังจากที่พวกเขาครอบตัดรูปภาพแล้ว ฉันจะได้ URI ของรูปภาพนั้นเช่น:

file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg?1535369482232

ฉันต้องการใช้ File API ของ Ionic เนื่องจากมันมีเมทอด readAsDataURL(path, file) ซึ่งจะเปลี่ยนไฟล์เป็นข้อมูล URL แบบเข้ารหัส base64 ซึ่งนี่คือสิ่งที่ฉันต้องการเป๊ะ ๆ

อย่างไรก็ตาม ผมจะทำอย่างไรเพื่อแยก path และ file จาก URI ของไฟล์ที่ผมมีข้างต้นอย่างถูกต้อง เพื่อให้ readAsDataURL(path, file) สามารถทำงานได้?

ฉันก็ไม่รู้เช่นกันว่าตัวเลขเหล่านี้หลังจาก .jpg?1535369482232 หมายถึงอะไร และฉันก็ไม่รู้ด้วยว่าชื่อไฟล์จะเป็นอะไรหรือถ้ามีไดเรกทอรีที่ต่างออกไปบน iOS เนื่องจาก URI ข้างต้นมาจากการทดสอบโดยใช้ Android Emulator

ป.ล. ฉันได้ลองเรียกใช้เมธอดโดยใช้เพียงเส้นทางข้างต้นโดยไม่ส่งชื่อไฟล์เป็นอาร์กิวเมนต์ที่สอง แต่ได้รับข้อผิดพลาดดังต่อไปนี้:

{"code":13,"message":"input is not a directory"}

ฉันจะสามารถบรรลุผลลัพธ์ที่ต้องการสำหรับทั้งเส้นทางไฟล์ของ iOS และ Android ได้อย่างไร?

คำตอบ #1

เส้นทางของคุณหมายถึง 'cacheDirectory' this.file.cacheDirectory.

เพื่อรับชื่อไฟล์

const pathsplit = "file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg".split('/');
filename = pathsplit[pathsplit.length-1];