1
이 나는 이미지를 업로드하고 요청을 보낼 때 로컬 웹 서버PHP 에코 jQuery를 AJAX 요청
<?php
header('Access-Control-Allow-Origin: *');
if (0 < $_FILES['file']['error']) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
$target_path = $_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_FILES['file']['name'];
echo $target_path;
}
?>
에이 upload.php
있는 이미지 파일
$('#upload-image').change(function(e){
var file = e.target.files[0];
var imageType = /image.*/;
if (!file.type.match(imageType))
return;
console.log(file);
var form_data = new FormData();
form_data.append('file', file);
console.log(form_data);
$.ajax({
url: 'http://localhost/upload.php',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function(response){
console.log(response);
},
error: function(error){
console.log(error);
}
});
});
을 업로드 내 jQuery를 요청입니다. 그것은 upload.php
의 완전한 코드 라인을 리턴하고 기록한다. 내가 원하는 echo
커맨드 라인의 결과가 아니다. 콘솔 네트워크 탭을 확인하고 응답이 upload.php
의 완전한 코드를 제외한 아무것도 아닌지 확인하십시오. 진정으로 서버 측은 아무 것도 처리하지 않습니다. 나는 무엇을 잘못 했는가?
왜 이것을 사용하고 있습니까? contentType : false, processData : false,? – Aschab
@Aschab 이미지 파일을 업로드하는 방법을 찾았고 해당 옵션을 사용하도록 안내했습니다. – necroface
@Aschab 해당 옵션을 사용하지 않으면 이미지를 업로드 할 수 없습니다. – necroface