webIm在H5手机端上传拍照文件

webim上传文件或者图片,给的接口是使用<input type='file' id='file'>控件获取并上传文件的。
现在用H5+做手机app,原生调用手机摄像头或者图库,获取的只是文件路径。而不是input控件生成的fileupload对象。
因此没办法用var file = WebIM.utils.getFileUrl(input的id)工具获取文件对象。
msg.set({
apiUrl: WebIM.config.apiURL,
file: file, //msg: info.content,
to: info.to,
roomType:false,
onFileUploadError: function onFileUploadError(error) {
console.log(error);
},
onFileUploadComplete: function onFileUploadComplete(data) {
url = data.uri + '/' + data.entities[0].uuid;
console.log("上传成功"+JSON.stringify(data));
//me.refs.picture.value = null;
},
success: function(id,serverMsgId){
//bindMsgList(info);
console.log("发送成功"+id+"/"+serverMsgId);
var chat = plus.webview.getWebviewById(info.to);
var msg = {sender:'self',type:info.type,content:info.content};
mui.fire(chat,'bindlist',msg);

},//消息发送成功回调
fail: function(message){
console.log(JSON.stringify(message));
},
flashUpload: WebIM.flashUpload
});
conn.send(msg.body);
这一段虽然会提示上传成功,但其实是0字节的文件。
这里我应该怎么做呢?
是自己架设个服务器端,通过ajax上传文件,然后发送链接地址给对方?还是有其他解决方法?

比方说混合开发,用android或者ios的sdk来上传?

请帮忙解答。能有具体的方法代码最好了。
共2个回复

donghai

2016-10-29 20:24

看下这个链接文档:http://docs.easemob.com/im/100serverintegration/40fileoperation

夜阑珊

2016-10-31 09:29

rest是服务端,就是说还是得自建服务端?我这是在手机app,没办法把服务端整合进来吧。不想连自建服务器。需要H5能直接解决的方法。

lizg

2016-11-04 10:25

只能使用rest接口代替input方法

hero4399

2018-03-05 16:36

请问楼主现在解决了这个问题吗?
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客户互动云使用者请进入管理员模式咨询

×

400电话

商务咨询

技术咨询

免费试用