SDKsWASM
使用文件创建图片消息
使用 WASM SDK 从浏览器 File 创建图片消息。
createImageMessageByFile() 使用浏览器文件及其图片元数据创建消息。原图、大图和缩略图可以使用不同的尺寸与资源信息;示例仅在三者相同时复用同一个对象。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
file | File | 是 | 浏览器中的原始图片文件。 |
sourcePicture | PicBaseInfo | 是 | 原图信息。 |
bigPicture | PicBaseInfo | 是 | 大图信息。 |
snapshotPicture | PicBaseInfo | 是 | 缩略图信息。 |
sourcePath | string | 是 | 原始文件的本地名称或业务路径。 |
三个 PicBaseInfo 参数使用相同的字段结构:
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
PicBaseInfo.uuid | string | 是 | 图片资源的唯一标识。 |
PicBaseInfo.type | string | 是 | 图片 MIME 类型。 |
PicBaseInfo.size | number | 是 | 图片大小,单位为字节。 |
PicBaseInfo.width | number | 是 | 图片宽度,单位为像素。 |
PicBaseInfo.height | number | 是 | 图片高度,单位为像素。 |
PicBaseInfo.url | string | 是 | 图片地址;由文件创建时传空字符串,发送过程中由 SDK 上传。 |
const picture = {
uuid: crypto.randomUUID(),
type: file.type,
size: file.size,
width,
height,
url: '',
};
const { data: message } = await openimsdk.createImageMessageByFile({
file,
sourcePicture: picture,
bigPicture: picture,
snapshotPicture: picture,
sourcePath: file.name,
});图片尺寸和大小必须来自实际文件。Promise 成功只创建待发送对象;后续使用 sendMessage() 上传并发送。
这个页面有帮助吗?