jmessage 3.0.4 发送图片提示No such file


(arthur) #3

android,jmessage-phonegap-plugin V3.0.4,文件路径是通过image picker取得,旧版的jmessage-phonegap-plugin都没问题


(Hevin) #4

新版需要用绝对路径,不能用 URL 类型的。


(arthur) #5

可以举个例吗,比如android上的绝对路径长什么样子?content://这样开头的?


(arthur) #6

使用content://media/external/images/media/290064这种路径也是出现no such file错误


(Hevin) #8

绝对路径是类似于这样:/storage/emulated/0/DCIM/Camera/IMG_20160526_130223.jpg 的格式。
也就是在相册或文件管理器中能看到的路径。
另外,如果系统为 Android 6.0 以上,需要先动态请求应用的存储(WRITE_EXTERNAL_STORAGE)权限。
可以用这个插件: https://github.com/dpa99c/cordova-diagnostic-plugin#requestruntimepermission


安卓获取的图片不是绝对路径(content:/开头的)发送图片失败
(arthur) #9

发送图片的参数如下图,已经是绝对路径了,但还是no such file


(Hevin) #10

是 Android 6.0 以上的系统吗?


(arthur) #11

5.1.1~~~


(Hevin) #12

能提供日志吗?


(arthur) #13

怎么看日志?


#14

(arthur) #15

已上传

logjpush.txt (1.4 MB)


(Hevin) #16

确定这个路径是对的吗?.jpg 后面还跟着 「?+一串数字」?


(arthur) #17

这个路径是ionic的插件获取的,我只是把file://去掉而已。旧版的插件也是这样获取,可以成功发送。
刚刚我把「?+一串数字」去掉后新版的也可以发送成功了



(arthur) #18

我把发送图片的extra参数注释掉才能成功发送,一加上去又不行了
let params = { type: 'single', // 'single' / 'group' username: username, // 当 type = single 时,username 不能为空 path: imageUrl, // 本地图片路径 // extras: extra // Optional. 自定义键值对 = {'key1': 'value1'} };


(Hevin) #19

更新插件到最新版本再试下。


(arthur) #20

更新后就可以了。不得不吐槽一下,更新到新版三天,天天发现bug,天天升级插件,我也是醉了


(Hevin) #21

毕竟还没写测试,才更的大版本。


(arthur) #22

请问一下IOS上的绝对路径长什么样子的?xcode上需不需要开什么权限?


(HuminiOS) #23

不需要开权限,

路径是这种格式 ,/var/containers/Bundle/Application/BF11948E-3DD7-4AE3-B3E6-462CD26F5EA5/jshare.app/wechat@3x.png