如何将文件对象添加到javascript对象中?

如何将文件对象添加到javascript对象中?,javascript,json,Javascript,Json,如何向现有javascript对象添加对象? 下面是一个现有javascript对象的示例 var dataObj = { TITLE : adtitle, DESC : addesc, PRICE : price, DISCOUNT : discount, CATID : maincatid, STATUS : adstatus, QUANTITY : quantity }; 现

如何向现有javascript对象添加对象? 下面是一个现有javascript对象的示例

   var dataObj = {
       TITLE : adtitle,
       DESC : addesc,
       PRICE : price,
       DISCOUNT : discount,
       CATID : maincatid,
       STATUS : adstatus,
       QUANTITY : quantity  
   };
现在我有了这个文件对象,我想把它添加到上面的对象中

File { name: "paper.jpg", lastModified: 1445433597723, lastModifiedDate: Date 2015-10-21T13:19:57.723Z, size: 54900, type: "image/jpeg" }
此文件对象是文件上载输入类型中的值

var image1 = $('#Image1').prop("files")[0];
var image2 = $('#Image2').prop("files")[0];
然后我还需要启动一个
$。post

   $.post("<?php echo Yii::app()->createUrl('/post'); ?>", { jsonData: postdata}, function(response){
            console.log(response);
        });

不太确定这是否回答了您的问题,但最简单的答案是:

dataObj.FILE = image1;

不太确定这是否回答了您的问题,但最简单的答案是:

dataObj.FILE = image1;
要将其添加到现有对象,只需在
dataObj
上定义一个新属性:

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});
或者,如果可以在定义
dataObj
时执行此操作,则应执行以下操作:

var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILE : $('#Image1').prop("files")[0]
};
如果您有多个
文件
对象,则应将它们作为数组存储在
数据对象中

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});
或者,您可能正在一次一个地使用它们,并且需要将它们逐个推送到
dataObj
上的数组中:

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});
要将其添加到现有对象,只需在
dataObj
上定义一个新属性:

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});
或者,如果可以在定义
dataObj
时执行此操作,则应执行以下操作:

var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILE : $('#Image1').prop("files")[0]
};
如果您有多个
文件
对象,则应将它们作为数组存储在
数据对象中

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});
或者,您可能正在一次一个地使用它们,并且需要将它们逐个推送到
dataObj
上的数组中:

var dataObj = {
    ...
};
// other work
dataObj.FILE = $('#Image1').prop("files")[0];
dataObj.FILES = $('#Image1').prop("files");
var dataObj = {
   TITLE : adtitle,
   DESC : addesc,
   PRICE : price,
   DISCOUNT : discount,
   CATID : maincatid,
   STATUS : adstatus,
   QUANTITY : quantity,
   FILES : []
};

// Populate the array
$('#Image1').prop("files").forEach(function(file) {
    dataObj.FILES.push(file);
});


dataObj.FILE=/*您的文件对象*/
?如果我有5个或更多的文件对象怎么办?如何处理?
dataObj.FILES=[file1,file2,file3]
拥有
file1
file2
file3
拥有
文件
发生次数
dataObj.File=/*您的文件对象*/
?如果我有5个或更多的文件对象会怎样?如何?
dataObj.FILES=[file1,file2,file3]
拥有
file1
file2
file3
拥有
File
发生如果我有5个以上的文件对象怎么办?如果我有5个以上的文件对象怎么办?如果我有5个或更多的文件对象怎么办?那么你应该拥有一个对象数组。我将在一个示例中进行编辑。在我使用JSON.stringify(dataObj)。。。当我在浏览器中登录console时,文件不在那里。您必须提供更多上下文。你什么时候运行这个JavaScript?您是否正在提交中间的表格?您是否试图以某种方式访问文件内容?有阿贾克斯吗?您提出了一个非常简单的问题,现在已经有了答案,但您还没有提供完整的场景。我怀疑你想做些不同寻常的事。你可能想问一个包含a的新问题,如果你愿意,可以参考这个问题。我编辑了我原来的帖子。也许这一次更容易理解?…在我使用JSON.stringify之后,图像在哪里消失了..我应该在后端捕获JSON数据如果我有5个或更多的文件对象呢?那么你应该有一个对象数组。我将在一个示例中进行编辑。在我使用JSON.stringify(dataObj)。。。当我在浏览器中登录console时,文件不在那里。您必须提供更多上下文。你什么时候运行这个JavaScript?您是否正在提交中间的表格?您是否试图以某种方式访问文件内容?有阿贾克斯吗?您提出了一个非常简单的问题,现在已经有了答案,但您还没有提供完整的场景。我怀疑你想做些不同寻常的事。你可能想问一个包含a的新问题,如果你愿意,可以参考这个问题。我编辑了我原来的帖子。也许这一次更容易理解?…在我使用JSON.stringify之后,图像去了哪里…我应该在后端捕获JSON数据