浏览 SDKs · Electron
平台
SDKsElectron

从完整路径创建媒体消息

使用 Electron FFI 的 *FromFullPath API 从本地绝对路径创建图片、视频、音频和文件消息。

复制

Electron FFI 提供一组从本地完整文件路径创建媒体消息的 API。它们适合桌面端已经拿到磁盘绝对路径的场景,例如系统文件选择器返回的路径。浏览器与 Electron WASM 形态应使用对应的 *ByFile / *ByURL 方法;以图片为例,分别见使用文件创建图片消息和使用 URL 创建图片消息。需要独立上传文件时,见上传文件。

创建得到 MessageItem 后,发送步骤与共享消息模型一致,通过发送消息进行发送;发送参数与相关事件见对应页面。

支持的方法

方法用途
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 方法返回的 data 均为已创建的待发送 MessageItem 消息对象。随后通过发送消息发送成功表示消息已提交至服务端并持久化;对方客户端是否接收到消息,则通过其实时的增量新消息事件进行同步。

相关页面