我们使用融云开发的项目, 但我们有一个需求是, 把图片不要上传到融云的服务器, 而是自己的服务器.于是就咨询了一下技术支持.
被告知有一个接口方法完全可以满足我们的需求.
ImageMessage imageMessage = ImageMessage.obtain(Uri.parse(FILEPATH), Uri.parse(FILEPATH));
configSendMessage(imageMessage);
Message message = Message.obtain(mTargetId,mConversationType,imageMessage);
RongIM.getInstance().sendImageMessage(message, "pushcontent", "pushdata",
new RongIMClient.SendImageMessageWithUploadListenerCallback() {
@Override
public void onAttached(Message message, RongIMClient.UploadImageStatusListener watcher) {
// 这里是自己上传图片的逻辑, 图片的路径可以通过 message 中进行获取.
//watcher 这个参数主要是用于把自己的上传状态同步给 sdk. 这样我们就可以使用 sdk 内部的默认逻辑, 包括界面.
}
@Override
public void onError(Message message, RongIMClient.ErrorCode code) {
}
@Override
public void onSuccess(Message message) {
}
@Override
public void onProgress(Message message, int progress) {
}
});
这样就可以继续使用 IMkit 的界面以及其他逻辑, 只是在 onAttached 中编写我们的上传逻辑并使用 watcher 上传的进度、成功或失败状态同步给 sdk 即可.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。