当前位置:主页 > 查看内容

HaaS UI小程序解决方案基础教学之五: JSAPI文件管理

发布时间:2021-08-12 00:00| 位朋友查看

简介:名词解释 AliOS Things: 阿里云智能IoT团队自研的物联网操作系统 HaaS:全称是Hardware as a Service,阿里云智能IoT团队基于AliOS Things系统推出的硬件即服务 HaaS UI:全称是Hardware as a Service User Interface,是源自AliOS Things操作系统上的一套……

名词解释

AliOS Things: 阿里智能IoT团队自研的物联网操作系统

HaaS:全称是Hardware as a Service,阿里云智能IoT团队基于AliOS Things系统推出的硬件即服务

HaaS UI:全称是Hardware as a Service User Interface,是源自AliOS Things操作系统上的一套应用 图形解决方案,支持C/C++和 JS两种开发语言

1、 File JSAPI简介

File JSAPI是HaaS UI提供的一个轻量级文件接口,特别适用于存储小程序运行所需的文件,如文本、图片、视频等资源文件,这些文件都可以通过File JSAPI来存取。

File JSAPI的作用域为当前小程序应用,包含的接口如下:

接口宿主 JSAPI 调用方法 接口功能 file saveFile $falcon.jsapi.file.saveFile({apFilePath: 'xxx'}) 文件管理 getSavedFileInfo $falcon.jsapi.file.getSavedFileInfo({apFilePath: 'xxx'}) getFileInfo $falcon.jsapi.file.getFileInfo({apFilePath: 'xxx'}) getSavedFileList $falcon.jsapi.file.getSavedFileList({}) removeSavedFile $falcon.jsapi.file.removeSavedFile({apFilePath: 'xxx'}) 1.1、 file.saveFile

file.saveFile是保存文件到本地(本地文件大小总容量限制:10 MB)的 API。

调用 my.saveFile 成功后,可在"MINIAPP_DATAROOT file/appid/"路径下查看保存的文件,其中appid是小程序的id。

入参

Object 类型,属性如下:

属性类型必填描述apFilePathString是文件路径。callbackFunction否回调函数,包含result参数。

示例代码

file.saveFile({
 apFilePath: 'd:\\demo.jpg',
}, result = {console.log(result)});

success 回调函数

属性类型描述apFilePathString文件保存路径。1.2、 file.getSavedFileInfo

file.getSavedFileInfo 是获取"MINIAPP_DATAROOT file/appid/"路径下保存的所有文件信息的 API,其中appid是小程序的id。

入参

入参为Object类型,属性如下:

属性类型必填描述apFilePathString是文件路径。callbackFunction否回调函数,包含result参数。

示例代码

file.saveFile({
 apFilePath: 'd:\\demo.jpg',
}, result = {
 result !result.error file.getSavedFileInfo({
 apFilePath: result["apFilePath"],
 }, result = {console.log(result)});
});
1.3、file.getFileInfo

getFileInfo 是获取文件信息的 API。

入参

入参为Object类型,属性如下:

属性类型必填描述apFilePathString是文件路径。callbackFunction否回调函数,包含result参数。

示例代码

file.getFileInfo({
 apFilePath: "/data/mini_app/file/0000000000000001/demo.jpg",
}, result = {console.log(result)});

success 回调函数

入参为Object类型,属性如下

名称类型描述sizeNumber文件大小。digestString摘要结果。1.4、 file.getSavedFileList

file.getSavedFileList 是获取保存的所有文件信息的 API。

入参

Object 类型,属性如下:

属性类型必填描述appIdString否小程序的 appId。callbackFunction否回调函数,包含result参数。

示例代码

file.getSavedFileList({
}, result = {
 result !result.error console.log(result);
});

success 回调函数

属性类型描述fileListList文件列表。column1column2column3column1column2column3

File 对象属性

属性类型描述sizeNumber文件大小。createTimeNumber创建时间。apFilePathString文件路径。1.5、 file.removeSavedFile

file.removeSavedFile 是删除某个保存的文件的 API。

入参

Object 类型,属性如下:

属性类型必填描述apFilePathString是文件路径。

示例代码

file.getSavedFileList({
}, result = {
 result !result.error file.removeSavedFile({
 apFilePath: result.fileList[0].apFilePath,
 }, result = {console.log(result)});
});

success 回调函数

属性类型描述apFilePathString被删除文件的路径。2、File JSAPI使用教程2.1、 file对象获取

在使用File JSAPI前,需要先获取$falcon.jsapi的file对象,所有的接口都是通过file对象进行调用的。

const storage = $falcon.jsapi.file;

2.2、 文件存储

文件存储操作需要通过步骤1获取的file对象来进行,具体可通过file.saveFile来实现键值对参数的存储,可存储的文件类型有txt、png、jpg、zip等常见类型。

文件类型/文件操作写入操作txt支持png支持jpg支持zip支持...支持

在进行文件存储时,有两种方式,一种是同步存储,另一种是异步存储。同步存储直接返回存储结果,异步存储需要在async函数中操作,通过await返回存储结果。

接口名/参数列表 saveFile apFilePath : 'xxx' (result) = { console.log(result);

同步存储方式:

const file = $falcon.jsapi.file;
file.saveFile(
 apFilePath: "d:\\demo.jpg",
 (result) = {
 console.log(result);
);

异步存储方式:

const file = $falcon.jsapi.file;
let result = await storage.setStorage({
 key: 'key', // key
 data: 'storage content', // value
console.log(result);
2.3、 其他文件操作

其他文件操作也需要通过步骤1获取的file对象来进行,包含getSavedFileInfo、getFileInfo、getSavedFileList和removeSavedFile,也支持同步和异步两种操作。

3、 File JSAPI调用示例

本节将以保存一张图片为示例,介绍如何去调用File JSAPI,具体包含保存文件、获取保存的文件信息、获取文件信息、获取保存的文件列表和删除文件。调用saveFile(),就可将文件存储到当前小程序的私有文件路径下,以供小程序使用。文件使用完毕后,调用removeSavedFile(),就可将之删除。

3.1、 保存文件

从给定apFilePath中获取要保存的文件路径,并调用saveFile()将之保存到小程序的私有文件路径下:

 const file = $falcon.jsapi.file;
 file.saveFile(
 apFilePath: "d:\\demo.jpg",
 (result) = {
 console.log(result);
}

5b56beec2352e4b2f392f792f2225669.gif

3.2、 获取保存的文件信息

要获取某个已保存的文件的信息,可通过调用getSavedFileInfo()实现:

getSavedFileInfo() {
 const file = $falcon.jsapi.file;
 file.saveFile(
 apFilePath: "d:\\demo.jpg",
 (result) = {
 result 
 !result.error 
 file.getSavedFileInfo(
 apFilePath: result["apFilePath"],
 (result) = {
 console.log(result);
}

2.gif

3.3、 获取文件信息

要获取某个文件的信息,可通过调用getFileInfo()实现:

 const file = $falcon.jsapi.file;
 file.getFileInfo(
 apFilePath: "d:\\demo.jpg",
 (result) = {
 console.log(result);
}

3.gif

3.4、 获取保存的文件列表

要获取已保存的文件的列表,可通过调用getSavedFileList()实现:

 const file = $falcon.jsapi.file;
 file.getSavedFileList({}, (result) = {
 result !result.error console.log(result);
}

4.gif

3.5、 删除文件

删除通过saveFile()保存的文件,可以调用removeSavedFile()实现:

 const file = $falcon.jsapi.file;
 file.getSavedFileList({}, (result) = {
 result 
 !result.error 
 file.removeSavedFile(
 apFilePath: result.fileList[0].apFilePath,
 (result) = {
 console.log(result);
}

5.gif

4、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

image.png

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/


本文转自网络,原文链接:https://developer.aliyun.com/article/786566
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:淘宝人生里的虚拟人像渲染技术 下一篇:没有了

推荐图文


随机推荐