文 档 中 心 / Document Center
搜索 管理中心
壹川接口文档V3
上传文件
更新时间:2018-04-09 17:13:05   更新人员:叶洋   文档状态:完成 #7    测试接口
摘要
上传图片、视频、音频、文件等可用此接口
  1. 接口基本信息
    接口名称:上传文件
    请求方法:POST
    接口地址:file
    登录验证:否
  2. 请求参数
    参数名 参数 数据类型 是否必须 示例值 说明
    name 文件命名 string 显示该文件时的名称
    access_level 访问权限 int 访问权限设置:0公开,1仅上传者和系统运营管理组成员可访问,2 上传者和其所在公司其它成员可访问查看 ,3 上传者和VIP会员可看。默认为0
    url 远程链接 string 如果文件是远程地址,需要设置此项,且无需再传文件
    description 文件描述 string
  3. 响应数据参数
    参数名 参数 数据类型 示例值 说明
    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完整链接
  4. 请求示例
    请求例子:
    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"
    	}]
    }
    
    返回结果为数组列表格式,上节描述的响应参数表为数组中子对象的参数表。
  5. 上传方法封装
    上传参考函数:
    /**
     * 上传文件到服务器
     */
    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)
        })
      })
    }
    
本书创建于 2018-03-30 12:03:13 ?如有疑问,请联系技术人员