融云通讯服务器,发送图片到自己的服务器

开发者客户以将图片发送到自己的服务器,具体步骤如下:

第一步:继承ConversationFragment,重写onImageResult,在这个方法里面获取到所选择的图片的URL集合

第二步:构造消息实例ImageMessage imageMessage = ImageMessage.obtain(thumbPathUri, localPathUri);

Message message = Message.obtain(targetId, conversationType, imageMessage);

第三步:发送图片:/**

发送图片消息,可以使用该方法将图片上传到自己的服务器发送,同时更新图片状态。

使用该方法在上传图片时,会回调 {@link io.rong.imlib.RongIMClient.SendImageMessageWithUploadListenerCallback}

* 此回调中会携带 {@link RongIMClient.UploadImageStatusListener} 对象,使用者只需要调用其中的

* {@link RongIMClient.UploadImageStatusListener#update(int)} 更新进度

* {@link RongIMClient.UploadImageStatusListener#success(Uri)} 更新成功状态,并告知上传成功后的图片地址

* {@link RongIMClient.UploadImageStatusListener#error()} 更新失败状态 

*

* @param message     发送消息的实体。

* @param pushContent 当下发 push 消息时,在通知栏里会显示这个字段。

*                    如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。

*                    如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。

* @param pushData    push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 {@link io.rong.push.notification.PushNotificationMessage#getPushData()} 方法获取。

* @param callback    发送消息的回调,回调中携带 {@link RongIMClient.UploadImageStatusListener} 对象,用户调用该对象中的方法更新状态。

*                    {@link #sendImageMessage(Message, String, String, RongIMClient.SendImageMessageCallback)}

*/

RongIM.getInstance().sendImageMessage(message, pushContent, pushData, new RongIMClient.SendImageMessageWithUploadListenerCallback() {     @Override

public void onAttached(Message message, final RongIMClient.UploadImageStatusListener uploadImageStatusListener) {         /*上传图片到自己的服务器*/

uploadImg(imgMsg.getPicFilePath(), new UploadListener() {             @Override

public void onSuccess(String url) {                 // 上传成功,回调 SDK 的 success 方法,传递回图片的远端地址

uploadImageStatusListener.success(Uri.parse(url));

}             @Override

public void onProgress(float progress) {                 //刷新上传进度

uploadImageStatusListener.update((int) progress);

}             @Override

public void onFail() {                 // 上传图片失败,回调 error 方法。

uploadImageStatusListener.error();

}

});

}     @Override

public void onError(Message message, RongIMClient.ErrorCode errorCode) {         //发送失败

}     @Override

public void onSuccess(Message message) {         //发送成功

}     @Override

public void onProgress(Message message, int progress) {         //发送进度

}

});

注意:SDK没有发送网络的图片接口,因为发送图片需要携带缩略图,如果不是本地图片,就没有办法得到缩略图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值