天天看點

egg檔案上傳

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() //删除臨時檔案
	}
}
           
egg