Skip to main content

When sending a media message with sendMediaMessage, developers can customize the upload of MediaMessageContent, take over the upload logic, and upload files to their own file server.

Code Example

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

// developer implements the upload method
@Override
public void uploadMessage(Message message, UploadCallback uploadCallback) {
Handler mH = new Handler(Looper.getMainLooper());
mH.postDelayed(new Runnable() {
@Override
public void run() {
//simulate upload-progress callbacks
uploadCallback.onProgress(50);
}
}, 100);
mH.postDelayed(new Runnable() {
@Override
public void run() {
MediaMessageContent mediaMessageContent = (MediaMessageContent) message.getContent();
String localPath = mediaMessageContent.getLocalPath();
// read the file from localPath and upload it
if (true) {
//upload succeeded
mediaMessageContent.setUrl("xxxxxx");//uploaded file URL
uploadCallback.onSuccess(message);
} else {
uploadCallback.onError();
}
}
}, 1000);
}