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];
