테스트 사이트 - 개발 중인 베타 버전입니다

ajax 를 이용하여 formdata 로 파일과 데이터를 업로드 할려고 합니다. 채택완료

로이폴리 2년 전 조회 1,461

 

안녕하세요. 

제목과 같이 ajax를 이용해 formdata를 전송하려고 하는데,,

데이터는 잘 저장이 되었고,, 파일을 같이 넘기려고 하는데,,, 글만 저장되고

파일은 저장이 되지 않네요.. 

이것저것 하다가 도저히 안되어 조언구합니다. 

 

ajax에서 파일 값을 못넘기는 것 같은데요,,

어떤 부분이 문제일까요?

 

 

 

<form name="hrwrite"  action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="bo_table" value="<?php echo $bo_table?>">
<input type="file" name="myfile">

</form>

 

<script type="text/javascript">

    function gohrSubmit(){ // 필드추가
    var formData = $("[name=hrwrite]").serialize();
    
    $.ajax({   
        type: "post",
        enctype: 'multipart/form-data',
        url: "<?=$board_skin_path?>/hr_setupdate.php",
        data: formData,
        processData: false,
        contentType: false,
        cache: false,
        success : function(data) {
            var result = data;
            if(result=="SUCCESS"){
                alert("등록 하였습니다.");
                window.location.reload();
            }
            else if(result=="FAILURE"){
                alert("등록에 실패하였습니다.");
            }
            else {
                alert("네트워크 오류입니다.");
            }
        }
    });
}

</script>

 

 

 

 

------ hr_setupdate.php

 

$res18 = mysql_query("select * from dentalhr order by hr_datetime desc limit 1");
$row18 = mysql_fetch_array($res18);
$nid = $row18[id] + 1;

$uploaded_file_name_tmp = $_FILES[ 'myfile' ][ 'tmp_name' ];
$img_file_name = $_FILES[ 'myfile' ][ 'name' ];
$file_type_check = explode('.',$img_file_name);
$file_type = $file_type_check[count($file_type_check)-1];
$uploaded_file_name = "idphoto".$nid.".".$file_type;

$upload_folder = "$g4[path]/data/file/$bo_table/";
move_uploaded_file( $uploaded_file_name_tmp, $upload_folder . $uploaded_file_name );

 

....  파일 업로드 부분 --

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
2년 전

$form =  $("[name=hrwrite]");

formData = new FormData($form[0]);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

로이폴리
2년 전
아 ㅠㅠ
거의 할수 있었는데, 아쉽네요..

감사합니다! 잘 해결됐어요!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인