2014-12-21 2 views
0

jquery ajax로 이미지를 업로드하는 과정을 만들고 싶습니다. 여기 내 코드입니다 :AJAX JQuery Upload Image

<form action="" method="post" name="formPicture" enctype="multipart/form-data"> 
    <div class="modal-body panel-modal-scrol"> 
     <input type="file" name="picture" class="form-control" /> 
    </div> 
    <div id="info"></div> 
    <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button> 
    <input type="submit" value="Save" id="btn-saving" class="btn btn-primary" /> 
</form> 
<script> 
$("[name=formPicture]").submit(function(e){ 
    e.preventDefault(); 
    var formData = $(this).serialize(); 
    console.log(formData); 

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

upload_picture.php

<?php 
$path = $_FILES['picture']['tmp_name']; 
$file_name = $_FILES['picture']['name']; 
$newPath  = "upload/"; 
move_uploaded_file($lokasi_file,$newPath.$file_name); 
$insert="INSERT INTO `picture`(`picture`) 
         VALUES ('$file_name')"; 
$query=mysql_query($insert); 
if($query){ 
    echo '{"status":"success"}'; 
    exit; 
}else{ 
    echo '{"status":"error"}'; 
    exit; 
} 
?> 

있지만 오류가 말했다 "주의 : 정의되지 않은 인덱스 : 4 호선에 그림"; 내 코드에 문제가 있습니까? 감사합니다 ..

답변

1

1 aprroach는 : -

당신은 formData를 사용해야합니다()는 아약스와 아약스 호출을 사용하여 더 많은 매개 변수의 몇 가지 설정 될 필요합니다. 그냥 따르 -

http://hayageek.com/jquery-ajax-form-submit/

을하지만 브라우저를 확인 할 compatability

편집 : - 라이브 코드 (PHP) + 데모 ​​- here

두번째 방법 : -

당신에게 AJAX 대신 이미지를 업로드 할 때 iframe을 사용할 수도 있습니다.

http://www.akchauhan.com/upload-image-using-hidden-iframe/

당신이 (즉 PHP, 레일, 자바 등)를 사용하는 서버 측 언어에 따라 당신은 두 가지 접근 방식의 예를 작업 얻을 것이다