[英]How to upload files using jQuery's ajax function with PHP?
這是我的無效嘗試:
<script>
function uploadImageSubmit() {
var imageFile = $('.imageFile').val();
$.ajax({
url: 'ajax.php?request=upload-image&file='+imageFile,
success: function(output) {
alert(output);
}
});
}
</script>
<h2>Upload File</h2>
<form>
<input type="file" class="imageFile" />
<a onClick="uploadImageSubmit()">Upload</a>
</form>
“ ajax.php”上的代碼:
<?php
$action = $_GET['request'];
switch($action) {
case 'upload-image':
$imageFile = $_GET['file'];
$name = $_FILES[$imageFile] ['name'];
$tmpLocation = $_FILES[$imageFile] ['tmp_name'];
$upload = move_uploaded_file($tmpLocation, "files/$name");
echo ($upload) ? $name.' uploaded successfully!' : 'File not uploaded.';
end;
}
?>
我收到未上傳的消息文件。 我認為這是因為即使可以通過url傳遞字符串,但由於某些原因文件路徑也不能。 但是話又說回來,我不知道為什么它不起作用。 有人可以找出問題所在嗎?
XmlHttpRequest不支持上傳文件。 您需要使用一些隱藏的iframe或Flash解決方案。
您不能使用純JS / AJAX上傳文件。 一個已知的技巧是將文件發布到隱藏的iframe並更新iframe。
實際上, HTML5和新的File API確實支持通過XmlHttpRequest上傳。 它在Firefox 4和Chrome中運行良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.