CI 묻고 답하기

제목 ci4 파일첨부 ajax 전송시 controller에서 받는 방법 문의 드립니다.
카테고리 CI 4 관련
글쓴이 김영성 작성시각 2022/12/21 14:52:51
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 4426   RSS

안녕하세요.

CI4로 제작중이며, 게시판 글쓰기에 파일첨부 기능이 있습니다.

이때 저장 버튼을 클릭하면 ajax를 통해 저장을 하도록 하였는데 첨부된 파일을 어떻게 전송해야 할지 문의 드립니다.

$.ajax({

          url : "<?= site_url('ProductReviewSave') ?>", 

          type : 'post',

          data : {

                txtFile : $('input#txtFile')[0].files[0]

          },

          success : function(data) {

                alert("등록되었습니다.");

                document.location.reload();

          }

});

ajax는 위와 같이 구성을 하였으며, controller에서 $UpFileInfo = $this->request->getFile("txtFile"); 로 받아서

$UpFileInfo->getName() 값을 추출하고자 $UpFileInfo 값을 받아오지 못하고 있습니다.

여러 고수님들의 도움 부탁 드립니다.

감사합니다.

 다음글 oop 관련 궁금한게 있습니다. (2)
 이전글 ci4 컨트롤러 내 변수를 바꾸고 다시 호출했을때 값을... (5)

댓글

한대승(불의회상) / 2022/12/21 16:34:07 / 추천 0

아래 코드 참고하세요.

<form id="form" enctype="multipart/form-data">
  <input type="file" name="file" id="file">
</form>

<script>
$('#form').submit(function(e) {
    e.preventDefault();

    var formData = new FormData(this);

    $.ajax({
      type: 'POST',
      url: <?= site_url('ProductReviewSave') ?>,
      data: formData,
      success: function(data) {
        console.log(data);
      }
    });
});
</script>