漫潮者,私有云,NAS,新媒体电商.软件开发,商乾

标题: 前端vue如何实现上传文件至群晖 Synology [打印本页]

作者: 游侠    时间: 2023-10-10 10:17
标题: 前端vue如何实现上传文件至群晖 Synology


前言:
工作中遇到的需求千奇百怪,最近接到一个需求,需要实现上传文件时,选择上传至oss或者群晖服务器的某个文件夹中。本想着直接对接后端便可以了,哪曾想是要直接去请求群晖的接口,下面列出调研群晖上传时使用过的一些接口
一、Class 定义一个构造函数
根据你业务需要,去配置你构造函数的入参


  1. class QunHuiUpload {
  2.     constructor(file = {}, conf = {}, data = {}, hook = {}) {
  3.     /**
  4.      * 上传构造器
  5.      * @param {File} file 文件
  6.      * @param {Object} conf 字段配置
  7.      * @param {Object} data 上传时的附加数据
  8.      * @param {Object} hook 上传事件钩子
  9.      */
  10.   }

复制代码
二、实现群晖登录
群晖上传的前提,首先是需要进行登录,登录成功后会获取到群晖sid,也就是token,用于其他接口作为参数传递。登录成功后,须将sid保存
  1. /**
  2.    * @descitption 群晖登录
  3.    * @param {String} account 账户
  4.    * @param {String} password 密码
  5.    */
  6. qunhuiLogin(account, password) {
  7.     return new Promise((resolve, reject) => {
  8.       axios.get(`接口域名地址/webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=${account}&passwd=${password}&session=FileStation&format=cookie`)
  9.         .then(res => {
  10.           localStorage.setItem('QunHuiToken', res.data.data.sid)
  11.           resolve(res.data.data.sid)
  12.         }).catch(err => {
  13.           reject(err)
  14.         })
  15.     })
  16.   }

复制代码
接口请求成功后,会返回登录标识---sid
(, 下载次数: 10)