После преобразования в строку станет легко хранить файлы, вам просто нужно преобразовать строку в изображение в вашем интерфейсе
преобразовать изображение в строку base64, используя этот код в вашем API, а также не забыть удалить файл из папки загрузки
"img": new Buffer.from(fs.readFileSync(req.file.path)).toString("base64")
удалить файл
let resultHandler = function (err) {
if (err) {
console.log("unlink failed", err);
} else {
console.log("file deleted");
}
}
fs.unlink(req.file.path, resultHandler);
на ваших маршрутах импортный мультер
`multer const multer = require('multer');
const upload = multer({ dest: __dirname + '/uploads/images' });`
Add upload.single('img') in your request
router.post('/fellows-details', authorize([Role.ADMIN, Role.USER]),
upload.single('img'), usersController.fellowsdetails);
ИЛИ
Если вы хотите сохранять изображения в localstorage
и хотите сохранить путь в базе данных, вы можете попробовать следующий подход
вы должны сначала установить fs-extra, который создаст папку. Я создаю отдельные папки по идентификатору, если вы хотите удалить его, вы можете удалить его. и чтобы сохранить путь к изображению, куда оно загружено, добавьте этот код в свой api или контроллер, который вы используете для сохранения изображения, и добавьте его в базу данных с другими данными.
let Id = req.body.id;
let path = `tmp/daily_gasoline_report/${Id}`;
создать отдельную папку для multer
, например multerHelper.js
const multer = require('multer');
let fs = require('fs-extra');
let storage = multer.diskStorage({
destination: function (req, file, cb) {
let Id = req.body.id;
let path = `tmp/daily_gasoline_report/${Id}`;
fs.mkdirsSync(path);
cb(null, path);
},
filename: function (req, file, cb) {
// console.log(file);
let extArray = file.mimetype.split("/");
let extension = extArray[extArray.length - 1];
cb(null, file.fieldname + '-' + Date.now() + "." + extension);
}
})
let upload = multer({ storage: storage });
let createUserImage = upload.array('images', 100);
let multerHelper = {
createUserImage,
}
module.exports = multerHelper;
В ваши маршруты импортируйте multerhelper
файл
const multerHelper = require("../helpers/multer_helper");
router.post(multerHelper. createUserImage , function(req, res, next) {
//Here accessing the body datas.
})
person
Arya
schedule
09.10.2020
npm install multer --save
, а затем в своем приложении вы можете получить доступ кreq.files.your_file_param_name
и либо сохранить в s3 с помощьюaws-sdk
, либоfs.writeFile(...)
- person user   schedule 23.04.2015