ajaxfileupload方法批量上传
时间: 2023-08-30 17:06:56 浏览: 97
ajaxfileupload 方法可以通过 AJAX 请求实现文件的批量上传。具体实现步骤如下:
1. 引入 jQuery 库和 ajaxfileupload 插件:
```
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://www.phpletter.com/Content/uploads/ajaxfileupload.js"></script>
```
2. 创建上传表单:
```
<form id="uploadForm" method="post" enctype="multipart/form-data">
<input type="file" name="file[]" multiple>
<input type="button" value="上传" id="uploadBtn">
</form>
```
3. 绑定上传按钮的点击事件:
```
$(document).ready(function() {
$('#uploadBtn').click(function() {
var files = $('input[name="file[]"]').get(0).files;
if (files.length > 0) {
$.ajaxFileUpload({
url: 'upload.php',
secureuri: false,
fileElementId: 'uploadForm',
dataType: 'json',
success: function(data, status) {
// 处理上传成功后的数据
},
error: function(data, status, e) {
// 处理上传失败后的数据
}
});
} else {
alert('请选择要上传的文件!');
}
});
});
```
4. 创建服务器端处理程序 upload.php,处理上传文件:
```
<?php
if ($_FILES['file']['error'][0] == 0) {
$uploadDir = './uploads/';
foreach ($_FILES['file']['name'] as $key => $value) {
$uploadFile = $uploadDir . basename($value);
move_uploaded_file($_FILES['file']['tmp_name'][$key], $uploadFile);
}
echo json_encode(array('status' => 'success'));
} else {
echo json_encode(array('status' => 'error'));
}
?>
```
注意:ajaxfileupload 插件只能用于 POST 请求,不能用于 GET 请求。同时,使用该插件上传文件时,服务器端要对上传的文件进行安全检查,以避免文件上传漏洞。
阅读全文