上传文件

函数功能:

将本地图片、脚本、APK等文件上传到服务器端。

两种方式上传文件:
一种是指定上传的文件类型,对于不同类型文件,需要编写正确的名称,这种上传方式,返回的 "file_url" 为 "http://localhost:8090/TotalControl/v1/storage/apk/1527558556026.apk",我们可以在浏览器中打开 url 下载文件。

  • image: 表示上传图片
  • script: 表示上传脚本
  • apk: 表示上传应用程序
  • tcbr/contacts: 上传通讯录文件

一种是不指定上传的文件类型,我们需要填上传到服务起的具体位置,

  • local/文件夹:
    上传到服务器 Total Control 安装根目录的指定文件夹,例如:local/temp ,上传到 temp 文件夹,如果没有 temp 文件夹,会自动创建,比如我们的 Total Control 安装在 C 盘,返回的 "file_url" 为 "C:/temp/1538104935363.bmp"。
  • local/指定路径:
    上传到服务器指定路径,例如: local/E:/File/,上传到服务器 E:\File\ 目录。返回的 "file_url" 为 "E:/File/1539543927519.bmp"。
注意:
tcbr/contacts,local/文件夹,local/指定路径只适用于 Total Control 6.9.0 及以后版本。
上传的文件在目录: "%appdata%\TotalControl\v1\storage\"

请求方式:POST
http://IP:8090/TotalControl/v1/storage?token=:token
参数说明:
参数名 类型 必选 描述
IP string Y 访问 Total Control 服务器的 IP 地址
token string Y Total Control TOKEN
响应参数:

Total Control 提供的 REST API 响应格式都是 JSON ,返回值通常由关键字 "status" 和 "value" 组成,
status: 接口执行成功与否
value: 执行接口的返回信息
但是执行该接口成功的返回字段由 "status" 和 "file_url" 组成。

执行接口成功的返回字段说明

字段 类型 描述
status boolean 执行接口成功,则返回:true
file_url string 文件在服务器中存储位置


(一)上传到服务器

返回示例:

{
    "status": true, 
    "file_url": "images/1527558556026.png"
}


(二)上传到服务器指定位置

返回示例:

{
    "status":true,
    "file_url":"E:/File/1539543927519.bmp"
}
CURL 请求示例

注意:下列示例是通过本机访问 Total Control 服务器,所以 IP 都是用的 "localhost"。

/**
 * 使用工具:CURL
 *
 */ 

// 请求:上传图片 "d:/1.bmp"
curl http://localhost:8090/TotalControl/v1/storage?token=7cy27KJbs4OO52H2  -F "image=@d:/1.bmp"
// 返回:
{
    "status": true, 
    "file_url": "images/1527558556026.bmp"
}

// 请求:上传 APK "d:/1.apk"
curl http://localhost:8090/TotalControl/v1/storage?token=7cy27KJbs4OO52H2 -F "apk=@d:/1.apk"
// 返回:
{
    "status": true, 
    "file_url": "apks/1527558556026.apk"
}

// 请求:上传脚本 "d:/1.js"
curl http://localhost:8090/TotalControl/v1/storage?token=7cy27KJbs4OO52H2  -F "script=@d:/1.js"
// 返回:
{
    "status": true, 
    "file_url": "scripts/1527558556026.js"
}

// 请求:上传通讯录文件 "E:/sigmaTC/testFile/1539448903740.json"
curl http://localhost:8090/TotalControl/v1/storage?token=7cy27KJbs4OO52H2  -F "tcbr/contacts=@E:/sigmaTC/testFile/1539448903740.json"
// 返回
{
    "status":true,
    "file_url":"tcbr/contacts/1542878436843.json"
}


// 请求:上传图片 "E:\\File\\img\\image.bmp" 到指定位置,即 Total Control 安装根目录的 temp 文件夹
curl http://localhost:8090/TotalControl/v1/storage?token=47R2BvAciDUp3Bwz -F "local/temp=@E:\\File\\img\\image.bmp"
// 返回:
{
    "status":true,
    "file_url":"C:/temp/1539363360758.bmp"
}

// 请求:上传文件 "E:\\File\\img\\image.bmp" 到 Total Control 服务器 "E:/File/"
curl http://localhost:8090/TotalControl/v1/storage?token=47R2BvAciDUp3Bwz -F "local/E:/File/=@E:\\File\\img\\image.bmp"
// 返回:
{
    "status":true,
    "file_url":"E:/File/1539543927519.bmp"
}

温馨提示:
获取 Total Control 脚本开发所用的开发 token 请看这里