Я получил этот проект в React, и администратор может добавить отпуск вручную (в модальной начальной загрузке) - и показать его на экране.одно из требований заключается в том, что он может загрузить существующий файл (фотографию), который будет использоваться в качестве фотографии отпуска, который он добавляет.изображение необходимо отправить на сервер и сохранить в файле Uploads (из всех изображений отпусков), а затем сохранить в виде строки (в базе данных) в папку определенной папки (и показать наэкран, конечно.) Я пытаюсь использовать npm express-fileupload / сохранить его как базу 64 для изображения, но оба метода не работают ...
router.post('/addvacation', async (req, res, next) => {
console.log(req.body);
const imgPath = 'should be uploaded to the Uploads file and make it as a string to the location of the specific folder.';
//saveImage(req.body.image,req.body.name);
let insertQuery = `
INSERT INTO users.vacations (name, price, start, end, followers ,image, description )
VALUES ('${req.body.name}' , ${req.body.price},'${req.body.start}' , '${req.body.end}', '[]' , '${imgPath}', '${req.body.description}' )
`;
const itemData = {...req.body,image: imgPath };
try {
await pool.query(insertQuery);
}
catch(e) {
console.error(e.message);
res.status(401).json("Fail");
return;
}
ws.io.emit('add', itemData);
res.status(200).json("OK");
});
Я также пытался использовать этот код, ноэто также не сработало.
// function saveImage(data,name) {
// var fs = require('fs');
// var bytes = data.split("%");
// var b = new Buffer(bytes.length);
// var c = "";
// for (var i = 0;i < bytes.length;i++) {
// b[i] = bytes[i];
// c = c + " " + bytes[i]
// }
// fs.writeFile(`../public/uploads/${name}.jpg`, c, "binary",function(err) {
// if(err) {
// console.log(err);
// } else {
// console.log("The file was saved!");
// }
// });
// return `localhost:3000/public/uploads/${id}.jpg`;
// }