我正准备一张允许多张图片上传的表单。我已经准备好了表格。我使用以下代码遍历所选图像:
for (var i = 0, len = e.target.files.length; i < len; i++) {
// further code here
}
我捕获并将每个selechted图像存储在变量_files中。此外,我使用键“path”扩展_file对象。
(由于我的表单中有不同的上传部分,可以选择图像,我想扩展带有路径信息的_file对象,将图像存储在不同的文件夹中 - 即在一个文件夹中显示个人资料图片;另一个文件夹中的图库。)
for (var i = 0, len = e.target.files.length; i < len; i++) {
_file = e.target.files[i];
_file.path = '/path/to/folder/';
}
如果我在控制台中记录对象_file,我会收到以下信息
lastModifiedDate: Thu Sep 15 2016 09:01:53 GMT+0200 (CEST)
name: "image_1.jpg"
path: "/path/to/folder/"
size: 21532
type: "image/jpeg"
到目前为止,一切似乎都有效。
作为最后一步,我将_file对象追加到我的_formData变量中,后面的行(变量_formData已经在_formData = new FormData()之前启动)
for (var i = 0, len = e.target.files.length; i < len; i++) {
_file = e.target.files[i];
_file.path = '/path/to/folder/';
_formData.append('file_' + i, _file);
}
比通过Ajax将变量_formData发送到PHP-File。在PHP文件中,我使用以下代码打印GLOBAL Var $ _FILES中的所有可用值:
print_r($_FILES)
PHP中的结果如下
Array (
[file_0] => Array
(
[name] => image_1.jpg
[type] => image/jpeg
[tmp_name] => /Applications/XAMPP/xamppfiles/temp/phpueAOoX
[error] => 0
[size] => 21532
)
)
来自e.target.files [i]的所有对象值都正确传输,但我的另外添加的路径信息无法使用。
现在我想知道是否可以完全扩展对象_files?
感谢您的回答和亲切的问候 汉斯
Ps:对不起拼写错误,英语不是我的母语:)。