回答
在 Hamibot 中,上传资源文件通常涉及以下几种场景,请根据具体需求选择合适的方式:
1. 创建脚本时上传
创建新脚本时,可以直接上传脚本文件。
- 输入脚本名称。
- 上传脚本文件(.js 后缀),若不上传系统会自动创建空文件。
- 点击「创建」完成操作。
2. 通过 API 更新脚本文件
对于开发脚本,可以通过 API 接口上传或更新文件(包括脚本和配置文件)。
- 接口地址:
PUT /v1/devscripts/开发脚本_id/files - 支持脚本和配置同时上传,也可单独上传,最多同时上传 2 个文件。
- 文件大小限制:不能超过 3Mb。
- MIME type 要求:脚本为
application/javascript,配置为application/json。 - 请求头需包含授权令牌:
Authorization: 你的令牌(hmp 开头)。
示例(curl):
curl \
-X PUT \
-H "Authorization: 你的令牌(hmp 开头)" \
-F "data=@index.js;type=application/javascript" \
-F "data=@config.json;type=application/json" \
https://api.hamibot.com/v1/devscripts/开发脚本_id/files
3. 脚本内管理设备文件
如果是指在手机存储中管理文件,使用 files 模块进行操作。
- 追加内容到文件:
files.append(path, text) - 复制文件:
files.copy(fromPath, toPath) - 路径示例:
/sdcard/1.txt
示例代码:
// 文档地址 https://docs.hamibot.com/
var text = '追加的文件内容';
files.append('/sdcard/1.txt', text);
files.copy("/sdcard/1.txt", "/sdcard/Download/1.txt");
4. 脚本内上传文件到外部服务器
如果是指将设备上的文件上传到外部 HTTP 服务器,使用 http 模块的 postMultipart 方法。
- 支持 multipart/form-data 请求。
- 文件参数可使用
open()返回的类型或数组格式。
示例代码:
// 文档地址 https://docs.hamibot.com/
var url = "http://example.com/upload";
var res = http.postMultipart(url, {
file: open('/sdcard/1.txt'),
appId: 'abcdefghijk'
});
log(res.body.string());
根据实际场景选择对应方式:管理脚本关联文件使用 API 或控制台,管理设备存储使用 files 模块,上传到外部服务使用 http 模块。
ℹ️ 本回答由 AI 生成,内容仅供参考