• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 교수님 도움이필요합니다 !

교수님 도움이필요합니다 !

10 글 보임 - 1 에서 10 까지 (총 13 중에서)
  • 글쓴이
  • #7067

    왕시루
    참가자

    상품등록 페이지 구현중입니다

    이미지 파일과 텍스트를 같이 등록하고싶어서

     폼 태그에 enctype="multipart/form-data"

    작성했더니 db에 데이터가 하나도 안들어갑니다
    3일동안 구글링 해 보았지만 답을 못찾아서 결국 도움요청 드립니다!!

    #7072

    codingapple
    키 마스터

    코드를 다 적어주시면 됩니다 

    #7073

    왕시루
    참가자

    수정

    #7077

    codingapple
    키 마스터

    일단 DB에 저장하기 전에 req.body안에 파일들과 정보들이 잘 들어오는지부터 확인하면 됩니다 

     

    우선 app.post(‘/list’,) 여기에 multer미들웨어를 추가하셔야 파일 업로드를 받을 수 있습니다 

    multer셋팅한거.single()이건 파일 하나만 전송받을 때 사용하시면 되고 

    여러개 <input>에서 파일을 업로드받고 싶으면 multer셋팅한거.fields()라는 미들웨어를 추가해주시면 됩니다

    사용법은 multer셋팅한거.fields([ { name: '이미지input의name' }, { name : '이미지input의name2'} ~~~  ]) 이런데 

     

    예를 들면

     

    app.post('/upload', upload.fields([{ name: '이미지인풋폼name', maxCount: 1 }, { name: '이미지인풋폼name2', maxCount: 1 }]), 

    function(req, res){
      console.log(req.body.title); 
      console.log(req.files); 
      응답.send('업로드완료');
    });

     

    이러면 req.body에는 일반 text폼 데이터, req.files 에는 이미지파일이 저장된 경로가 잘 출력되고 이걸 잘 저장하시면 됩니다 

     

    #7078

    왕시루
    참가자

    밤늦게 답변 달아주셔서 드디어 저장까지 성공했습니다!!!너무 감사드립니다!!

     

    못난 짱구 굴리느라 재밌어서 시간 가는 줄 몰랐네요 

     

    그리고 죄송하지만 한 가지만 더 여쭤보겠습니다 ㅠㅠ

     

    상세보기 페이지에서 사진 불러 오고 싶어서

    <%= detaildata.메인이미지 %>

    <%= detaildata.path %>

    <%= detaildata.메인이미지.path %>

    넣어봤는데 전혀 반응이 없습니다.. 가르침을 내려주세요 교수님..

    #7082

    codingapple
    키 마스터

    ejs 파일 보내기 전에 데이터가 db에서 이미지경로데이터가 잘 뽑혔는지 콘솔창에 출력해서 확인합시다

    #7083

    왕시루
    참가자

    콘솔에서는

     

    '메인이미지': [ [Object] ]

     

    로 출력되고 몽고디비에서 오브젝트 열어서 확인하면 

     

    메인이미지: Array
    0: Object

    fieldname: "image_upload"
    originalname: "item2.png"
    encoding: "7bit"
    mimetype: "image/png"
    destination: "./public/image"
    filename: "item2.png"
    path: "public\image\item2.png"
    size: 456562

     

    이렇게 나옵니다..

    #7089

    codingapple
    키 마스터

    매우 많은 정보들이 DB에 다 들어가있군요

    일단 처음에 이미지 저장하실 때 "public/image/item2.png" 이 부분만 뽑아내서 DB에 저장하셔야 이쁘고 깔끔하게 출력도 잘될 듯 합니다 

    #7096

    왕시루
    참가자

    방법을 못찾겠습니다 ㅠㅜㅜ

    #7099

    codingapple
    키 마스터

    어떤 방법을 못찾는 것입니까 

10 글 보임 - 1 에서 10 까지 (총 13 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠