SDKsElectron
从完整路径创建媒体消息
使用 Electron FFI 的 *FromFullPath API 从本地绝对路径创建图片、视频、音频和文件消息。
Electron FFI 提供一组从本地完整文件路径创建媒体消息的 API。它们适合桌面端已经拿到磁盘绝对路径的场景,例如系统文件选择器返回的路径。浏览器与 Electron WASM 形态应使用对应的 *ByFile / *ByURL 方法;以图片为例,分别见使用文件创建图片消息和使用 URL 创建图片消息。需要独立上传文件时,见上传文件。
创建得到 MessageItem 后,发送步骤与共享消息模型相同,调用 sendMessage();发送参数与事件见发送消息。
支持的方法
| 方法 | 用途 |
|---|---|
createImageMessageFromFullPath(imagePath) | 从本地图片绝对路径创建图片消息。 |
createSoundMessageFromFullPath(params) | 从本地音频绝对路径创建语音消息。 |
createVideoMessageFromFullPath(params) | 从本地视频与快照绝对路径创建视频消息。 |
createFileMessageFromFullPath(params) | 从本地文件绝对路径创建普通文件消息。 |
这些方法只创建消息对象,不会自动发送,也不会触发新消息事件。
图片消息
createImageMessageFromFullPath() 直接接收图片文件的绝对路径字符串。
const { data: message } = await openimsdk.createImageMessageFromFullPath(
'/absolute/path/to/photo.jpg',
);
await openimsdk.sendMessage({
recvID,
groupID: '',
message,
});语音消息
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
soundPath | string | 是 | 音频文件的绝对路径。 |
duration | number | 是 | 音频时长;必须传整数,不要传小数。 |
const { data: message } = await openimsdk.createSoundMessageFromFullPath({
soundPath: '/absolute/path/to/voice.m4a',
duration: 3200,
});视频消息
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
videoPath | string | 是 | 视频文件的绝对路径。 |
videoType | string | 是 | 视频类型,例如 mp4。 |
duration | number | 是 | 视频时长;必须传整数,不要传小数。 |
snapshotPath | string | 是 | 视频封面快照的绝对路径。 |
const { data: message } = await openimsdk.createVideoMessageFromFullPath({
videoPath: '/absolute/path/to/clip.mp4',
videoType: 'mp4',
duration: 12000,
snapshotPath: '/absolute/path/to/cover.jpg',
});文件消息
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
filePath | string | 是 | 文件的绝对路径。 |
fileName | string | 是 | 展示给会话成员的文件名。 |
const { data: message } = await openimsdk.createFileMessageFromFullPath({
filePath: '/absolute/path/to/report.pdf',
fileName: 'report.pdf',
});调用结果
四个 *FromFullPath 方法的 Promise 成功后,data 都是待发送的 MessageItem。随后的 sendMessage() Promise 成功只代表发送请求完成;对端是否收到消息,以其客户端收到的新消息事件为准。
相关页面
这个页面有帮助吗?