1 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
在js中將文件發(fā)送到服務(wù)器的一個(gè)好方法是使用formData:按照這個(gè) https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
當(dāng)你做
<?php
if (isset($_POST['upload'])) {
$target = "images/".basename($_FILES['image']['name']);
$image = $_FILES['image']['name'];
}
?>
您嘗試檢索文件的絕對(duì)名稱(chēng)(這里是一個(gè)字符串)然后在服務(wù)器上您將此文本作為圖像文件獲取,這就是 PHP 啟動(dòng) undefined 的原因
$_FILES["圖片"]
因?yàn)槭盏降闹凳且粋€(gè)字符串而不是一個(gè)文件。
$_FILES['image']['name'] 包含上傳文件的原始名稱(chēng)。
舉例:
var form = $('form.img-form')[0];
var formData = new FormData(form);
或?yàn)?FormData() 指定確切的數(shù)據(jù)
var formData = new FormData();
formData.append('size', '1000000');
//Attach file
formData.append('image', $('input[type=file]')[0].files[0]);
現(xiàn)在調(diào)用ajax函數(shù)
$.ajax({
url: 'includes/profile/set_image.php',
type: 'POST',
data: formData,
success: function(data) {
console.log("successful image update");
},
error: function(requestObject, error, errorThrown) {
console.log(error);
console.log(errorThrown);
}
});
- 1 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)