我正在尝试使用 7.2.0 Modern File Field 上传多个文件。
var txtSiteCode = Ext.create('Ext.field.Text', {
label: 'Site Code',
required: true,
name: 'site_code',
responsiveConfig: {
'width < 800': {
labelAlign: 'top'
},
'width >= 800': {
labelAlign: 'left'
}
}
})
}
}
}), fldFile = Ext.create('Ext.field.File', {
label: 'Images',
name: 'files',
multiple: true,
accept: 'image',
responsiveConfig: {
'width < 800': {
labelAlign: 'top'
},
'width >= 800': {
labelAlign: 'left'
}
},
}), form = Ext.create('Ext.form.Panel', {
url: 'data/test.php',
method: 'post',
enctype: 'multipart/form-data',
items : [txtSiteCode, fldFile],
})
提交表单后,我在服务器上的 $_FILES 数组中只收到 1 个文件。但是从请求有效负载的大小来看,似乎所有文件实际上都应该可用。
FILE COUNT: 1, referer:
[Thu Aug 20 09:05:09.715473 2020] [php7:notice] [pid 12749] Array\n(\n [name] => FBK90084_Primary_14_PE4 (2).jpg\n [type] => image/jpeg\n [tmp_name] => /tmp/phpxjd0pK\n [error] => 0\n [size] => 2973487\n)\n,
以上是对 $_FILE 数组大小的计数,以及 $_FILE 数组本身的转储。这是在文件选择器中选择了 3 个 jpg 文件的结果。
Status200
OK
VersionHTTP/1.1
Transferred5.67 MB (0 B size)
Referrer Policyno-referrer-when-downgrade
上面是服务器响应,您可以看到大小为 5.7mb(在这种情况下选择了 2 ~3mb 个文件)
知道为什么 $_FILES 数组没有显示所有提交的文件吗?
更新:需要注意的是 - 如果我在 devtools 中手动设置渲染页面上字段的名称属性以在其末尾包含“[]”,我可以获得多个文件上传到服务器。然后问题似乎是表单没有将文件输入视为多次上传并使用正确的“名称 []”约定,并且 EXT 从名称字符串中去除非字母数字字符,因此我似乎无法设置字段名称属性到代码中的“文件[]”。我猜我可能可以覆盖这个?只是不确定如何