消息服务器 图,图片消息中的图片能否用自己的服务器存储?

本文介绍了如何使用融云IM API发送带图片的自定义消息,包括上传图片到服务器并实时更新上传状态,以及回调机制和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支持:

/**

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

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

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

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

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

* {@link 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 UploadImageStatusListener} 对象,用户调用该对象中的方法更新状态。

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

*/

public void sendImageMessage(final Message message,

final String pushContent,

final String pushData,

final SendImageMessageWithUploadListenerCallback callback) {

if (message == null) {

RLog.e(TAG, "message is null!");

if (callback != null)

callback.onError(null, ErrorCode.PARAMETER_ERROR);

return;

}

if (mLibHandler == null) {

RLog.e(TAG, "sendImageMessage IPC 进程尚未运行!");

if (callback != null)

callback.onError(message, ErrorCode.IPC_DISCONNECT);

return;

}

ResultCallback insertCallback = new ResultCallback() {

@Override

public void onSuccess(Message message) {

if (message != null) {

message.setSentStatus(Message.SentStatus.SENDING);

setMessageSentStatus(message.getMessageId(), Message.SentStatus.SENDING, null);

if (callback != null) {

UploadImageStatusListener watcher = new UploadImageStatusListener(message, pushContent, pushData, callback);

callback.onAttachedCallback(message, watcher);

}

} else {

throw new IllegalArgumentException("Message Content 为空!");

}

}

@Override

public void onError(ErrorCode e) {

if (callback != null)

callback.onError(message, e);

}

};

insertMessage(message.getConversationType(), message.getTargetId(), null, message.getContent(), insertCallback);

}

调用此接口  其中回调SendImageMessageWithUploadListenerCallback

文件原图是上传到自己服务器 , 融云会将缩略图发送过去.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值