uploadFile
描述
目前支持上传以下类型的文件类型:
.jpg
.jpeg
.png
.gif
.image
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 | 上传文件后获得的文件链接地址: - 如果 env 为 public ,可以使用该链接直接访问文件。- 如果 env 为 private ,需要使用 getPrivateFileByUrl 获取签名链接才能够访问文件。 |
fileSize Number | 文件大小,单位为 KB。 |
env String | 文件的获取方式。 |
示例
小程序选取文件上传示例
my.chooseImage({
chooseImage: 1,
success: res => {
const path = res.apFilePaths[0];
const options = {
filePath: path,
headers: {
contentDisposition: 'attachment',
},
};
basement.file.uploadFile(options).then(console.log).catch(console.error);
},
});
云函数中 Buffer 上传示例
const data = Buffer.from(raw);
const name = 'sample.png';
basement.file.uploadFile({
file: data,
filePath: name,
}).then(console.log).catch(console.error);;