上传文件
更新时间:2018-04-09 17:13:05 更新人员:叶洋

文档状态:完成 #7
测试接口
摘要
上传图片、视频、音频、文件等可用此接口
-
接口基本信息
接口名称:上传文件
请求方法:POST
接口地址:file
登录验证:否
-
请求参数
| 参数名 |
参数 |
数据类型 |
是否必须 |
示例值 |
说明 |
| name |
文件命名 |
string |
否 |
|
显示该文件时的名称 |
| access_level |
访问权限 |
int |
否 |
|
访问权限设置:0公开,1仅上传者和系统运营管理组成员可访问,2 上传者和其所在公司其它成员可访问查看
,3 上传者和VIP会员可看。默认为0 |
| url |
远程链接 |
string |
否 |
|
如果文件是远程地址,需要设置此项,且无需再传文件 |
| description |
文件描述 |
string |
否 |
|
|
-
响应数据参数
| 参数名 |
参数 |
数据类型 |
示例值 |
说明 |
| file_id |
文件id |
string |
de0c86e415e9825b |
|
| name |
文件名 |
string |
t018c5c82327ff13b70.jpg |
|
| access_level |
访问权限级别 |
int |
0 |
|
| size |
文件大小 |
string |
17215 |
单位:b |
| description |
文件描述 |
string |
|
|
| upload_time |
上传时间 |
int |
1522728372 |
|
| upload_by |
上传用户 |
string |
|
上传用户的uid |
| link_url |
文件链接 |
string |
|
文件url完整链接 |
-
请求示例
请求例子:
uploadfiles (file) // 调用封装好的上传文件方法 参数file为要上传的文件
返回数据结果:
{
"code": 0,
"msg": "ok",
"time": "1522728371",
"data": [{
"name": "t018c5c82327ff13b70.jpg",
"access_level": 0,
"size": 17215,
"description": "",
"file_id": "de0c86e415e9825b",
"upload_time": 1522728372,
"upload_by": "0000000000000001",
"link_url": "http://v3.echuan56.com/upload/image/20180403/2b2f74219d9212a17627d655ef6006da.jpg"
}]
}
返回结果为数组列表格式,上节描述的响应参数表为数组中子对象的参数表。
-
上传方法封装
上传参考函数:
/**
* 上传文件到服务器
*/
export function uploadfiles (file) {
let data = new FormData() // 创建form对象
data.append('file', file, file.name)
let headers = ACCESSHEADER
const actoken = sessionStorage.getItem('accessToken') // 判断是否已经存在accessToken
if (actoken !== null) {
headers['access-token'] = actoken
}
headers['Content-Type'] = 'multipart/form-data' // 使用form-data数据提交方式
let param = {}
param.signature = autograph(param)
let configs = {
baseURL: API,
url: 'file',
method: 'post',
headers: headers,
data: data, // 文件流
params: param // 携带普通参数
}
// 返回promise对象
return new Promise((resolve, reject) => {
axios(configs).then((response) => {
resolve(response.data)
}).catch((e) => {
reject(e)
})
})
}