import path from 'path'; import fs from 'fs-extra'; const uploadUrl = 'http://localhost:3300/static/upload'; const filePath = path.join(__dirname, '../static/upload/'); fs.ensureDir(filePath); export default class UserService { async upload(ctx, files, isMultiple) { let fileReader, fileResource, writeStream; const fileFunc = function (file) { fileReader = fs.createReadStream(file.path); fileResource = filePath + `/${file.name}`; console.log(fileResource); writeStream = fs.createWriteStream(fileResource); fileReader.pipe(writeStream); }; const returnFunc = function (flag) { if (flag) { let url = ''; for (let i = 0; i < files.length; i++) { url += uploadUrl + `/${files[i].name},`; } url = url.replace(/,$/gi, ''); ctx.body = { url: url, code: 0, message: 'upload Success!', }; } else { ctx.body = { url: uploadUrl + `/${files.name}`, code: 0, message: 'upload Success!', }; } }; console.log(isMultiple, files.length); if (isMultiple) { for (let i = 0; i < files.length; i++) { const f1 = files[i]; fileFunc(f1); } } else { fileFunc(files); } fs.ensureDir(filePath); returnFunc(isMultiple); } }