跳到主要内容

createFileMessageByFile

功能介绍

说明

根据文件对象创建文件消息。

注意

仅 web 端支持,且最好不要用于大文件上传,大于1G的文件上传,建议使用createFileMessageByURL接口。

函数原型

IMSDK.createFileMessageByFile({
filePath: string;
fileName: string;
uuid: string;
sourceUrl: string;
fileSize: number;
fileType: string;
file: File;
}, operationID?: string): Promise<WsResponse<MessageItem>>

输入参数

参数名称参数类型是否必填描述
filePathstring文件绝对路径,如果没有,传空字符串即可
fileNamestring文件名称
uuidstring文件唯一 ID
sourceUrlstring空字符串即可
fileSizestring文件大小
fileTypestring文件类型
fileFile文件对象

返回结果

参数名称参数类型描述
Promise.then()Promise<WsResponse<MessageItem>>调用成功回调
Promise.catch()Promise<WsResponse>调用失败回调

代码示例

import { getSDK } from 'open-im-sdk-wasm';
const IMSDK = getSDK();

// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();

// use in mini program
// import { OpenIMSDK } from 'open-im-sdk';
// const IMSDK = new OpenIMSDK();

IMSDK.createFileMessageByFile({
filePath: videoFile.path || '',
fileName: videoFile.name,
uuid: 'uuid',
sourceUrl: '',
fileSize: videoFile.size,
fileType: videoFile.type,
file: videoFile,
})
.then(({ data }) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});