createFileMessageByFile
功能介绍
说明
根据文件对象创建文件消息。
注意
仅 web 端支持,且最好不要用于大文件上传,大于1G的文件上传,建议使用createFileMessageByURL接口。
- Browser/Electron/MiniProgram
函数原型
IMSDK.createFileMessageByFile({
filePath: string;
fileName: string;
uuid: string;
sourceUrl: string;
fileSize: number;
fileType: string;
file: File;
}, operationID?: string): Promise<WsResponse<MessageItem>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
filePath | string | 是 | 文件绝对路径,如果没有,传空字符串即可 |
fileName | string | 是 | 文件名称 |
uuid | string | 是 | 文件唯一 ID |
sourceUrl | string | 是 | 空字符串即可 |
fileSize | number | 是 | 文件大小 |
fileType | string | 是 | 文件类型 |
file | File | 是 | 文件对象 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<MessageItem>> | 调用成功回调 |
Promise.catch() | Promise<WsResponse> | 调用失败回调 |
代码示例
import { getSDK } from '@openim/wasm-client-sdk';
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 }) => {
// 调用失败
});