【发布时间】:2019-08-13 17:28:52
【问题描述】:
我正在处理上传脚本。我唯一需要编辑的是 $_FILES 数组的格式。
我的 HTML
<input id="upload_dialog" name="file[]" type="file" multiple>
我的 JavaScript
<script>
$('#upload_dialog').on('change', function(event) {
var form = new FormData();
$.each(event.target.files, function(key, value) {
form.append(key, value);
});
$.ajax({
url: 'url,
type: 'POST',
data: form,
processData: false,
contentType: false,
cache: false,
async: true,
done: function(data) {
data = JSON.parse(data);
});
});
</script>
这个数组我会通过ajax上传文件得到。
array(2) {
[0]=>
array(5) {
["name"]=>
string(11) "ps-logo.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(23) "/home/www/tmp/phpMBu4TE"
["error"]=>
int(0)
["size"]=>
int(24722)
}
[1]=>
array(5) {
["name"]=>
string(12) "tnk-logo.png"
["type"]=>
string(9) "image/png"
["tmp_name"]=>
string(23) "/home/www/tmp/php9yPGpf"
["error"]=>
int(0)
["size"]=>
int(23748)
}
}
但我需要这种类型的数组,如果我只通过纯 PHP 提交上传表单,我通常会得到它。
array(1) {
["file"]=>
array(5) {
["name"]=>
array(2) {
[0]=>
string(12) "tnk-logo.png"
[1]=>
string(11) "ps-logo.jpg"
}
["type"]=>
array(2) {
[0]=>
string(9) "image/png"
[1]=>
string(10) "image/jpeg"
}
["tmp_name"]=>
array(2) {
[0]=>
string(23) "/home/www/tmp/phpWGezym"
[1]=>
string(23) "/home/www/tmp/phpIqOpKY"
}
["error"]=>
array(2) {
[0]=>
int(0)
[1]=>
int(0)
}
["size"]=>
array(2) {
[0]=>
int(23748)
[1]=>
int(24722)
}
}
}
有什么简单的方法可以通过ajax发送数据来获取这种类型的数组吗?
【问题讨论】:
标签: javascript php jquery ajax upload