jQuery |将新键值添加到target.files对象

时间:2016-09-20 14:47:44

标签: jquery ajax object

我正准备一张允许多张图片上传的表单。我已经准备好了表格。我使用以下代码遍历所选图像:

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:对不起拼写错误,英语不是我的母语:)。

0 个答案:

没有答案