성공적인 파일 업로드 후 multer
을 사용하여 페이지를 리디렉션하는 데 문제가 있습니다. 파일을 업로드 할 때 일부 텍스트를 데이터베이스에 저장하고 있습니다. 여기 내 코드가있다.멀터를 사용하여 페이지 업로드 및 리디렉션
질문 : 파일 내용이 DB에 저장됩니다
가 어떻게 새로운 URL로 페이지를 리디렉션 할 수 있습니다?
현재 res.redirect('product/item');
을 사용하고 있지만 아무런 변화가 없습니다. 또한 res.render
을 사용해 보았지만 페이지가 리디렉션되지 않았습니다.
Multer
방법은 Amazon S3
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'nameofthebucket',
metadata: function (req, file, cb) {
var ext = file.originalname.split('.').pop();
cb(null, {fieldName: 'file.fieldname' + '.' + ext});
},
filename: function(req,file,cb){
var ext = file.originalname.split('.').pop();
cb(null, Date.now() + '.' + ext);
},
key: function (req, file, cb) {
var ext = file.originalname.split('.').pop();
cb(null, Date.now() + '.' + ext);
}
})
})
var upload = upload.array('fileup', 10);
DB에 레코드를 저장하고 만드는 파일 및 컨텐츠
router.post('/uploadfileandcontent',function(req,res,next){
upload(req,res,function(err) {
if(err) {
} else {
saveRecordsToDB(req, function(err,data){
if (err) {
res.redirect('/errorpage');
} else {
res. redirect('product/item');
}
});
}
});
});
기능을 업로드 할 책임이 코드에 파일을 업로드하기 콜백
function saveRecordsToDB (req, callback){
var args = {
data: {
"name" : req.body.name, //
"age" : req.body.age
},
headers: { "Content-Type": "application/json" }
};
// registering remote methods
client.registerMethod("postMethod", "http://url/uploadfileandcontent", "POST");
var req =client.methods.postMethod(args, function (data, response) {
callback(null, 'success?');
});
req.on('error', function (err) {
console.log('error');
});
}
참고 : 또한 NODE REST CLIENT을 사용하여 http 요청을 보냈습니다.
나는 그것을 시도 줄 것이다. 또한 HTML 페이지에서'msg'를 어떻게 찾을 수 있습니까? – Illep
자세한 내용으로 업데이트 됨 – agaezcode