我的应用程序的用户可以使用Ionic Native - Crop选择和裁剪图像。他们裁剪完图片后,我将获得该图片的URI,例如:
file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg?1535369482232
我想使用Ionic's File API,因为它有一个方法readAsDataURL(path, file),它将文件转换为base64编码的数据URL,这正是我真正需要的。
但是,如何正确地将path
和file
从上面的文件的URI中分离出来,以便满足readAsDataURL(path, file)
的要求?
我也不知道.jpg?1535369482232
后面的这些数字的含义,也不知道文件的名称,或者文件在 iOS 上是否具有其他目录,因为上面的URI是通过使用Android模拟器的测试提供的。
P.S。我尝试仅通过上面的路径调用该方法,而没有将文件名作为第二个参数传递,但是出现以下错误:
{"code":13,"message":"input is not a directory"}
如何为iOS和Android文件路径获得所需的结果?
答案 0 :(得分:0)
您的路径引用了'cacheDirectory'this.file.cacheDirectory.
获取文件名。
const pathsplit = "file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg".split('/');
filename = pathsplit[pathsplit.length-1];