回答
在 Hamibot 中上传 zip 压缩包,推荐使用 http.postMultipart 方法,并明确指定文件的 MIME 类型。以下是标准实现方式:
// 文档地址 https://docs.hamibot.com/
var url = "https://你的服务器接口地址/upload";
var zipPath = "/storage/emulated/0/Download/example.zip";
// 使用格式 3:[fileName, mimeType, filePath]
var res = http.postMultipart(url, {
file: ["example.zip", "application/zip", zipPath]
});
log("上传状态码: " + res.statusCode);
log("服务器响应: " + res.body.string());
关键说明:
- MIME 类型:zip 文件的标准 MIME 类型为
application/zip。明确指定可避免服务器将文件识别为未知类型或拒绝接收。 - 存储权限:脚本运行前需确保 Hamibot 已获得 Android 存储读写权限。若未授权,
postMultipart会因无法读取本地文件而直接失败。 - 附带非文件参数:若接口要求同时传递其他字段(如 token、业务标识),直接在请求对象中追加键值对即可:
var res = http.postMultipart(url, { file: ["example.zip", "application/zip", zipPath], token: "your_token_value", appId: "123456" }); - 路径处理:
zipPath必须为设备上的绝对路径。若压缩包与脚本位于同一目录,可使用files.cwd() + "/example.zip"动态获取。
按此结构配置即可稳定完成 zip 文件上传。若服务器返回 400 或 413 错误,请核对接口要求的字段名(示例中为 file)及文件大小限制。如有具体报错日志,可提供以便进一步定位。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实