Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface NIMSendFileOptions

Hierarchy

Index

Properties

antiSpamBusinessId?: string

安全通自定义业务 ID,传入此参数则消息通过安全通自定义业务进行安全审核;如需新增安全通自定义业务,请联系商务经理进行相关配置,然后前往云信控制台的安全通配置界面获取该业务 ID。

antiSpamContent?: string

自定义消息中需额外进行审核的内容,yidunEnable 开启后才能配置该参数,且仅对自定义消息有效。必须传递 JSON 格式字符串,长度不超过 5,000 字节

格式如下:{"type": 1, "data": "custom content"}

字段说明:

  • type: 1-文本、2-图片、3-视频
  • data: 内容可以是文本内容、图片地址、视频地址
antiSpamUsingYidun?: boolean

是否使用安全通对当前消息进行内容安全检测,默认 true

apns?: { accounts?: string[]; content?: string; forcePush?: boolean }

特殊推送选项, 只在群会话中使用

Type declaration

  • Optional accounts?: string[]

    需要特殊推送的 IM 账号(accid)列表, 不填表示推送给当前会话内的所有用户

  • Optional content?: string

    需要特殊推送的文案, 不填的话默认为 pushContent

  • Optional forcePush?: boolean

    是否强制推送, true 表示即使推送列表中的用户屏蔽了当前会话(如静音), 仍能够推送当前这条内容给相应用户

blob?: File

JS 的 File 对象。

注:若有可能,更推荐开发者使用这个传参,携带文件的名字后缀等信息,

注2: fileInput、file、filePath、blob 只需要填一个

cc?: boolean

是否将消息抄送至指定的第三方服务器(可以是应用服务器),默认 true

clientAntiSpam?: boolean

是否需要通过客户端反垃圾对该消息进行内容审核,默认 false

commonUpload?: boolean

是否使用普通上传。

注:默认 false 是使用分片上传的。普通上传限制是 100MB 文件,当宿主环境不支持 File 无法做文件切片时会自动退化为普通上传。

custom?: string

扩展字段

注:推荐使用 JSON 序列化字符串

env?: string

指定当前消息需要抄送到或者回调到的环境的名称。开通消息抄送或第三方回调后,该环境名称可在云信控制台中配置(如下图),最大 32 个字符。

note

通过 previewFile 接口上传图片后拿到的对象。

注:如果有需要的话,通过 previewFile 接口上传图片后,在通过 sendFile 接口发送这个 file 参数。

注2: fileInput、file、filePath、blob 只需要填一个

fileInput?: string | HTMLInputElement

Input[type=file] 的 DOM 节点或者节点 ID。

注:浏览器专属,SDK 会读取该节点下的第一个被选择文件, 在上传完成前请不要操作该节点下的文件

注2: fileInput、file、filePath、blob 只需要填一个

filePath?: string

临时文件的路径

注:RN,小程序等特殊的 JS 运行环境专用(chooseImage 拿到的该临时路径)

注2: fileInput、file、filePath、blob 只需要填一个

isHistoryable?: boolean

是否存储云端历史,默认 true

isLocal?: boolean

是否是本地消息,默认 false

注:此参数为 true,sdk 仅仅只是把消息存入库,不会发往 NIM 服务器

isOfflinable?: boolean

是否要存离线,默认 true

isPushable?: boolean

是否需要推送,默认 true

isRoamingable?: boolean

是否支持漫游,默认 true

isSyncable?: boolean

是否支持发送方多端同步,默认 true

isUnreadable?: boolean

是否计入消息未读数,默认 true

localFrom?: string

本地消息的发送方,默认是当前用户.

isLocal 为 true 时生效。

maxSize?: number

限制文件的大小,单位字节.

注:小程序,rn 等环境,由于只有 filePath 而没有 file 具体信息,无法使用这个字段做判断,只能让开发者自行在选择文件是判定。

needMsgReceipt?: boolean

是否需要业务已读,默认 false。该参数仅在群聊时生效,单聊时无需设置

注:msgReceipt 指的是本端发送的消息,对端是不是已读了本端的消息。

needPushNick?: boolean

是否需要推送昵称,默认 true

needUpdateSession?: boolean

是否需要刷新远端的服务器会话列表,默认是(请注意区分两种会话),默认为 true

nosScene?: string

常见说明

  • 常用场景为根据资源类型设置存储场景,然后设置定时任务调用 清理文件 删除。
  • IM 默认的存储场景为: 'im'
  • Chatroom 默认的存储场景为: 'chatroom'

存储场景优先级

  • sendFile 或者 previewFile 时的 nosScene 参数
  • 初始化参数的 nosScene 参数
  • 默认参数: 'im' 或者 'chatroom'

私有化安全链接

  • 私有化生成安全链接,请设置 nosScene: '_nim_security'
  • 接收方使用 getNosAccessToken 获取带有鉴权信息的链接
  • 使用 deleteNosAccessToken 设置鉴权信息无效
nosSurvivalTime?: number

上传的文件在网易云存储服务(NetEase Object Storage, NOS)上的存储有效期。

notice

默认为 Infinity(永久)。设置的时间不得小于一天,单位:秒。

pushContent?: string

自定义推送文案

pushPayload?: string

自定义的推送属性。更多说明及相关示例请参见推送payload配置

注:必须使用 JSON 序列化字符串

replyMsg?: NIMMessage

要回复的消息对象,表示当前消息是对某条消息的回复

robotInfo?: { account?: string; customContent: string; function: string; topic: string }

AI自动对话机器人消息

Type declaration

  • Optional account?: string

    指定机器人账号,用户填写。(仅在群聊中有效,p2p会被忽略)

  • customContent: string

    指定自定义内容,用户填写

  • function: string

    指定机器人具体功能,用户填写

  • topic: string

    指定话题,用户填写

scene: "p2p" | "team" | "superTeam"

消息场景

subType?: number

消息子类型。格式为大于0的整数,开发者需要自行映射其含义

to: string

接收方信息

  • 单聊场景下为消息接收方的 IM 帐号(accid)
  • 群聊或超大群场景下为群 ID
type: "image" | "audio" | "video" | "file"

文件类型,image 图片,video 视频,audio 音频,file 其他文件。

yidunAntiCheating?: string

易盾反作弊字段,长度限制1024,JSON 序列化字符串。

如:"{"email":"test@163.com","phone":"12345678901","token":"1234","extension":"hello"}"

yidunAntiSpamExt?: string

易盾反作弊扩展字段字段,2021-08-09 追加。JSON 序列化字符串,长度上限 1024

yidunEnable?: boolean

是否需要对自定义消息的指定内容(antiSpamContent)进行安全检测,默认 false

Methods

  • 消息构建完成,在发送前触发的回调

    注:此时 idClient 已经构建完毕,status 为 sending,time 为端测本地时间。

    Parameters

    Returns void

  • beginupload(upload: { abort: any }, message: NIMMessage): void
  • 开始上传文件的回调。

    这个回调接收一个参数叫 upload,调用 upload.abort() 可以取消文件上传。

    注: 第二个参数 message 在 9.11.0 之后开始支持

    注2: 此方法仅浏览器与微信小程序支持。

    Parameters

    • upload: { abort: any }
      • [key: string]: any
      • abort:function
        • abort(): void
        • Returns void

    • message: NIMMessage

    Returns void

  • 消息发送成功回调

    注: 接到 NIM 服务器回包后,传回 idServer,更正 status 为 success,time 更正为服务器侧的发送时间。

    注2: 消息发送成功后,done 回调第二个参数是一个正常的 NIMMessage 体;而若上传阶段失败了,返回的是 NIMSendFileFailedResult 的结构。

    Parameters

    Returns void

  • 上传完毕的回调

    注: 第三个参数 message 在 9.11.0 之后开始支持

    注2: 第三个参数仅浏览器与微信小程序支持

    Parameters

    Returns void

  • 上传进度监听回调

    注: 第二个参数 message 在 9.11.0 之后开始支持

    注2: 此方法仅浏览器与微信小程序支持。且不要在 IE9 及以下的浏览器版本使用,因为存在兼容性问题

    Parameters

    Returns void