uploadFile

描述

目前支持上传以下类型的文件类型:

  • .jpg
  • .jpeg
  • .png
  • .gif
  • .image
  1. basement.file.uploadFile(options: object): Promise<Result>

请求参数


字段

描述

是否必填

options

Object

上传控制项。



options.filePath

String

本地文件路径,通常可以从图片文件描述中获取文件路径。可上传文件大小限制在 100 MB 以内。



options.env

String

文件的获取方式。

可选值:

-
public: 可公开访问的文件。

-
private: 需要获取签名链接后访问的文件,并且访问授权有时效性。具体获取方式,参考 getPrivateFileByUrl 方法。



默认值:public



options.timeout

Number

超时时间,以毫秒为单位。



默认值:60000



options.headers

Object

文件响应头键值对,可定义如下内容:

-
cacheControl: 缓存策略。

-
contentDisposition: 文件形式。

-
contentEncoding: 文件内容编码。

-
expires: 缓存有效时长。



options.meta

Object

自定义文件响应头键值对。 例如,自定义 userId: halo 获得响应头 x-meta-user-id: halo


返回参数


字段

描述

filePath

String

本地文件路径。

fileUrl

String

上传文件后获得的文件链接地址:

-
如果 envpublic,可以使用该链接直接访问文件。

-
如果 envprivate,需要使用 getPrivateFileByUrl 获取签名链接才能够访问文件。

fileSize

Number

文件大小,单位为 KB。

env

String

文件的获取方式。

示例

小程序选取文件上传示例

  1. my.chooseImage({
  2. chooseImage: 1,
  3. success: res => {
  4. const path = res.apFilePaths[0];
  5. const options = {
  6. filePath: path,
  7. headers: {
  8. contentDisposition: 'attachment',
  9. },
  10. };
  11. basement.file.uploadFile(options).then(console.log).catch(console.error);
  12. },
  13. });

云函数中 Buffer 上传示例

  1. const data = Buffer.from(raw);
  2. const name = 'sample.png';
  3. basement.file.uploadFile({
  4. file: data,
  5. filePath: name,
  6. }).then(console.log).catch(console.error);;

原文: https://docs.alipay.com/mini/cloud-service/nsuima