Skip to content

qin.chooseFile ​

从本地选择文件。

本API主要用于选择非媒体文件,如果选择的文件是媒体文件,另有3个专用API:

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
√x(可使用 wx.chooseMessageFile )xxx

OBJECT 参数说明

参数名类型默认值必填说明平台差异说明
countNumber100否最多可以选择的文件数量见下方说明
typeString'all'否所选的文件的类型见下方说明
extensionArray<String>否根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。见下方说明
sourceTypeArray<String>['album','camera']否(仅在type为 image 或 video 时可用) album 从相册选图, camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
successFunction是成功则返回图片的本地文件路径列表 tempFilePaths
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

Tips

  • count 值在 H5 平台的表现,基于浏览器本身的规范。目前测试的结果来看,只能限制单选/多选,并不能限制数量。并且,在实际的手机浏览器很少有能够支持多选的。
  • sourceType 值在 H5 平台根据浏览器的不同而表现不同,一般不可限制仅使用相册,部分浏览器也无法限制是否使用相机。
  • extension暂只支持文件后缀名,例如 ['.zip','.exe','.js'] ,不支持 application/msword 等类似值

注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 qin.saveFile,在应用下次启动时才能访问得到。

OBJECT.type 的合法值

值说明
all从所有文件选择
video只能选择视频文件
image只能选择图片文件

Tips

  • 如果type属性和extension同时存在,例如 {type:'image',extension:['.png','.jpg']} ,则会选择 image/png,image/jpg 文件
  • 如果只配置extension属性,例如 {extension:['.doc','.xlsx','.docx']} ,则会选择.doc,.xlsx,.docx文件,详情见 accept 属性
  • 在微信环境中,如果 type="all",则 extension 属性失效

success 返回参数说明

参数类型说明
tempFilePathsArray<String>文件的本地文件路径列表
tempFilesArray<Object>、Array<File>文件的本地文件列表,每一项是一个 File 对象

File 对象结构如下

参数类型说明
pathString本地文件路径
sizeNumber本地文件大小,单位: B
nameString包含扩展名的文件名称,仅 H5 支持
typeString文件类型,仅 H5 支持

示例

js
qin.chooseFile({
  //默认100
  count: 6,
  extension: ['.zip', '.doc'],
  success: (theRes) => {
    console.log(JSON.stringify(theRes.tempFilePaths));
  },
});

// 选择图片文件
qin.chooseFile({
  count: 10,
  type: 'image',
  success: (theRes) => {
    // tempFilePath可以作为img标签的src属性显示图片
    const tempFilePaths = theRes.tempFiles;
  },
});
qin.chooseFile({
  //默认100
  count: 6,
  extension: ['.zip', '.doc'],
  success: (theRes) => {
    console.log(JSON.stringify(theRes.tempFilePaths));
  },
});

// 选择图片文件
qin.chooseFile({
  count: 10,
  type: 'image',
  success: (theRes) => {
    // tempFilePath可以作为img标签的src属性显示图片
    const tempFilePaths = theRes.tempFiles;
  },
});

wx.chooseMessageFile ​

从微信聊天会话中选择文件。

平台差异说明

H5微信小程序支付宝小程序小红书小程序抖音小程序快手小程序
x√(基础库2.5.0+)xxxx