123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 'use strict';
- /**
- *
- *
- * @author Zhong
- * @date 2018/5/24
- * @version
- */
- import fs from 'fs';
- import path from 'path';
- import multiparty from 'multiparty';
- import BaseController from "../../common/base/base_controller";
- //import sysSchedule from '../models/sys_model';
- let sysSchedule = require('../models/sys_model');
- let callback = function(req, res, err, message, data){
- res.json({error: err, message: message, data: data});
- };
- const shareDir = 'public/share/';
- class SysTools extends BaseController{
- clearJunkData(req, res){
- sysSchedule.clearJunkData(function (err) {
- let msg = '清除成功';
- let errCode = 0;
- if(err){
- msg = '清除失败';
- errCode = 1;
- }
- callback(req, res, errCode, msg, null);
- });
- }
- clearFakeData(req, res){
- sysSchedule.clearFakeData(function (err) {
- let msg = '清除成功';
- let errCode = 0;
- if(err){
- msg = '清除失败';
- errCode = 1;
- }
- callback(req, res, errCode, msg, null);
- });
- }
- //上传文件:用户手册、升级说明pdf文件
- /*
- * 这两个文件在前台帮助下拉中使用,与产品绑定,即一个养护产品(重庆养护、浙江xx...)只有一份文件
- * 所以保存到的文件夹直接分为两个:userGuide和upgradeGuide,前台到对应文件夹直接获取文件
- * */
- async uploadFile(req, res) {
- const validTrigger = {
- userGuide: 'userGuide', //用户手册
- upgradeGuide: 'upgradeGuide' //升级说明
- };
- let uploadDir = path.join(req.app.locals.rootDir, shareDir);
- let form = new multiparty.Form({uploadDir: uploadDir});
- form.parse(req, async function(err, fields, files){
- try {
- const file = typeof files.file !== 'undefined' ? files.file[0] : null;
- if(err || !file) {
- throw '上传失败';
- }
- //文件类型
- const trigger = typeof fields.trigger !== 'undefined' && fields.trigger.length > 0 ? fields.trigger[0] : null;
- if (!trigger || !trigger in validTrigger) {
- throw '该操作没有上传权限'
- }
- if (!fs.existsSync(uploadDir)) {
- fs.mkdirSync(uploadDir);
- }
- //根据触发源放置文件到相关文件夹
- let triggerPath = path.join(uploadDir, trigger);
- if (!fs.existsSync(triggerPath)) {
- fs.mkdirSync(triggerPath);
- }
- //文件后缀
- let px = file.originalFilename.split('.').pop();
- //重命名
- let newFileName = trigger + '.' + px;
- let newPath = path.join(triggerPath, newFileName);
- fs.renameSync(file.path, newPath);
- //返回图片域名后的url
- res.json({error: 0, data: `${shareDir}/${trigger}/${newFileName}`, message: 'success'});
- } catch (err) {
- console.log(err);
- res.json({error: 1, data: null, message: err});
- }
- });
- }
- }
- export {SysTools as default};
|