浏览 SDKs · Electron
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,
});

语音消息

参数说明

参数类型是否必填说明
soundPathstring音频文件的绝对路径。
durationnumber音频时长;必须传整数,不要传小数。
const { data: message } = await openimsdk.createSoundMessageFromFullPath({
  soundPath: '/absolute/path/to/voice.m4a',
  duration: 3200,
});

视频消息

参数说明

参数类型是否必填说明
videoPathstring视频文件的绝对路径。
videoTypestring视频类型,例如 mp4
durationnumber视频时长;必须传整数,不要传小数。
snapshotPathstring视频封面快照的绝对路径。
const { data: message } = await openimsdk.createVideoMessageFromFullPath({
  videoPath: '/absolute/path/to/clip.mp4',
  videoType: 'mp4',
  duration: 12000,
  snapshotPath: '/absolute/path/to/cover.jpg',
});

文件消息

参数说明

参数类型是否必填说明
filePathstring文件的绝对路径。
fileNamestring展示给会话成员的文件名。
const { data: message } = await openimsdk.createFileMessageFromFullPath({
  filePath: '/absolute/path/to/report.pdf',
  fileName: 'report.pdf',
});

调用结果

四个 *FromFullPath 方法的 Promise 成功后,data 都是待发送的 MessageItem。随后的 sendMessage() Promise 成功只代表发送请求完成;对端是否收到消息,以其客户端收到的新消息事件为准。

相关页面