반응형
flutter에서 여러개의 이미지를 nodejs 서버로 업로드하기위해서는 multer를 사용해야한다!
multer를 먼저 설정해줘야한다.
destination을 이용해서 업로드할 이미지가 들어갈 폴더 이름을 바꿀 수 있다.
filename을 이용해서 업로드할 파일 이름을 바꿀 수 있다.
const upload = multer({
storage: multer.diskStorage({
destination: (req, file, cb) => {
let keynum = req.params.keynum;
let dir = 'uploads/' + keynum;
if (!fs.existsSync(dir)) { fs.mkdirSync(dir) };
cb(null, dir);
},
filename: (req, file, cb) => {
if (file.fieldname === "location_images") {
cb(null, '위치' + Date.now() + path.extname(file.originalname));
}
}
}),
limits: { fileSize: 5 * 1024 * 1024 }
})
이미지 파일들을 받는 부분이다.
flutter에서 form-data 형식으로 받아왔다.
const fileUpload = upload.fields([
{ name: 'location_images' },
]);
app.post('/api/uploadImg/:keynum', fileUpload, function (req, res) {
var dir = 'uploads/' + req.params.keynum;
if (!fs.existsSync(dir)) { fs.mkdirSync(dir) };
var upload_date = req.body.upload_date;
attractionModel.find({ key: req.params.keynum }, (err, att) => {
var id = att[0]._id;
attractionModel.findByIdAndUpdate(id, {
$set: {
upload_date: upload_date
}
}).exec();
});
res.status(200).json({ 'uploaded_images_count': count });
});
반응형
'flutter' 카테고리의 다른 글
mongodb All your data is a backed up. you must pay 0.04 BTC (0) | 2022.09.02 |
---|---|
node js, npm 버전 확인 및 업데이트 (0) | 2022.09.01 |
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Bad state: Can't finalize a finalized MultipartFile. (0) | 2022.08.18 |
Error: Cannot set headers after they are sent to the client (0) | 2022.08.17 |
provider model for loop - flutter provider 빌드 순서 (0) | 2022.07.30 |