Я впервые задаю вопрос о переполнении стека. Я нашел какой-либо ответ или подсказку от inte rnet за последние 5 часов ... но все еще не нашел никакого решения.
Я хочу загрузить изображение, а также текст из нескольких полей. на узле и express приложение. Я использовал node-formidable, который, очевидно, может обрабатывать multipart / form-data. Тем не менее, я изо всех сил пытался загрузить файл, чтобы проверить, прикреплен ли файл изображения к форме или нет.
async uploadImage(req) {
const form = new formidable.IncomingForm();
const parsedData = form.parse(req);
// I have been working to how to obtain filled field value here
form.on('field', (name, value) => {
console.log('name', name);
console.log('value', value);
})
// here I start to struggle how to check if the image is attached on the form or not
// my idea is get image size from form input then move file to specific folder
let size = form.on('file', (name, file) => {
console.log('name', name);
console.log('file', [file, file.size]);
return file.size;
})
// however, this idea doesn't work
// image isn't uploaded as per this code
// but if there is no size check or some sort of checking,
// there is an error when no image file is attached on the form
if (size > 0) {
form.uploadDir = './public/images/';
form.keepExtensions = true;
form.on('fileBegin', (name, file) => {
file.path = form.uploadDir + file.name;
});
}
form.on('error', function(err){
console.log(err);
});
Извините за мое грязное объяснение, но я должен знать следующее:
Как использовать форму-узел для загрузки файла изображения с проверкой / обработкой ошибок, если файл изображения прикреплен к форме или нет.
Как получить значения из полей ввода при загрузке изображения.
Заранее спасибо,