1.安裝插件
npm install mz mz/mz-modules
2.設定
在config.default.js設定以下内容
config.multipart = {
mode: 'file',
};
3.上傳
//在控制器寫上傳
const fs = require('mz/fs');
const path = require('path');
const pump = require('mz-modules/pump');
async doupdate(){
const files = this.ctx.request.files
try{
for(const file of files){
const filename = file.filename
const source = fs.createReadStream(file.filepath) //讀取臨時位址中的上傳檔案
const target = fs.createWriteStream(path.join('app/public',filename))
await pump(source,target) //利用管道将流寫入對應的路徑
}
}finally{
await this.ctx.cleanupRequestFiles() //删除臨時檔案
}
}