Skip to main content

开发者在发送媒体消息调用 sendMediaMessage 方法时,可以自定义媒体消息(MediaMessageContent)的上传,接管上传逻辑,将文件上传到自己的文件服务器。

示例代码

JIM.getInstance().getMessageManager().setMessageUploadProvider(this);

// 开发者实现上传方法
@Override
public void uploadMessage(Message message, UploadCallback uploadCallback) {
Handler mH = new Handler(Looper.getMainLooper());
mH.postDelayed(new Runnable() {
@Override
public void run() {
//模拟上传进度回调
uploadCallback.onProgress(50);
}
}, 100);
mH.postDelayed(new Runnable() {
@Override
public void run() {
MediaMessageContent mediaMessageContent = (MediaMessageContent) message.getContent();
String localPath = mediaMessageContent.getLocalPath();
// 使用 localPath 获取文件内容并进行上传
if (true) {
//上传成功
mediaMessageContent.setUrl("xxxxxx");//上传的文件 url
uploadCallback.onSuccess(message);
} else {
uploadCallback.onError();
}
}
}, 1000);
}