パイプメソッドを使用して、フロント エンドで psssed されたファイルを保存します。ローカルに保存されたファイルをクラウド サービスにアップロードするとき、ファイルのストリームが終了したかどうかわからないので、パイプが終了してからアップロードするのを待つ方法そのファイルをクラウド サービスに送信し、最後に応答を返す
また、クラウドサービスにファイルをアップロードする手順を次のように記述しようとしましたが、機能しません
res.on('終了',関数(){
...
})
var koa-router = require("koa-router");
var thunkify =require("thunkify");
var parse = require("co-busboy");
var parts = parse(this); // "this" => request
while (part = yield parts){
var imgPath = path.join(__dirname, "../../runtime/img_tmp", new Date().getTime() + "_" + part.filename.toString());
stream = fs.createWriteStream(imgPath);
res= part.pipe(stream);
}
//check and console.log the file is exist or not
// upload to cloud service
console.log(fs.existsSync(imgPath) || path.existsSync(imgPath));
if(fs.existsSync(imgPath) || path.existsSync(imgPath)){
var keyName = 'news/image/banner' + imgPath;
var fileUpload_thunk = thunkify(awsUpload.fileUpload);
yield fileUpload_thunk(fs.createReadStream(imgPath), keyName);
console.log(photoUrl);
//put url to photoUrl
photoUrl = 'http://goappdl.goforandroid.com/' + keyName;
console.log("data-amazionFinished:"+new Date().getTime());
}
this.body={"state":1,"url":photoUrl}