2017-10-20 8 views
0

이미지를 업로드 할 수 있지만 때로는 최신 이미지를 업로드 할 필요가없는 페이지를 편집해야 할 경우 어떻게해야합니까?node.js와 멀터를 사용하여 이미지를 제출했는지 확인하십시오

아래의 코드를 사용하지만 매번 "정의되지 않음"을 확인할 때마다 확인하고 있습니다.

router.post('/update/:id', function(req, res, next) { 

    var Storage = multer.diskStorage({ 
     destination: function (req, file, callback) { 
      callback(null, "./uploads/images"); 
     }, 
     filename: function (request, file, callback) { 
      callback(null, file.originalname); 
     } 
     }); 

    upload(req, res, function (err) { 
     if (typeof req.files.image !== "undefined") { 
     // code 
     } else if (typeof req.files.image === "undefined") { 
     // code 
     } 

    home.update(req.files[0].path, req.body.input_field_name, req.params.id); 
     req.flash('edit', 'Updated.'); 
     res.redirect('edit/' + req.params.id); 
    }); 

    }); 

도움이 필요하십니까?

솔루션

upload(req, res, function (err) { 
    if (typeof req.files !== 'undefined' && req.files.length > 0) { 
     //code 
    } else { 
     //code 
    } 
}); 
+0

당신이 좀 더 컨텍스트를 제공 할 수 있을까요? – Hartger

+0

@Hartger 전체 코드를 포함 시켰습니다. 확인해주십시오. 기본적으로 이미지 업로드 여부를 확인하고 싶습니다. 두 경우 모두 코드가 작동해야합니다. –

+0

console.log (req.files)가 출력하는 결과는 무엇입니까? 아마도 req.files의 길이를 검사하는 것이 효과적 일 것입니다. bodyparser btw를 사용하고 있습니까? – Hartger

답변

0
if (typeof req.query.image !== "undefined") { 
     // code 
     console.log("File is uploaded"); 
     } else if (typeof req.query.image === "undefined") { 
     // code 
     console.log("File is not uploaded"); 
     } 

// 당신이 다음 사용 후를 사용하는 경우 - req.body.image

+0

그것주는 : "TypeError : 정의되지 않은"이미지 '속성'을 읽을 수 없습니다. –

+0

설치 - 'npm install --save body-parser'를 설치 한 다음 코드에 다음 행을 추가하십시오. - var bodyParser = require ("body-parser"); var app = express(); app.use (bodyParser.json()); –

+0

이 모든 작업이 완료되었습니다. 아직 운이 없다. –