如何将文件追加到FormData对象?

时间:2019-05-03 08:41:36

标签: angular

在我的Angular应用程序中,我试图将从FileUpload控件中选择的文件追加到FormData对象:

fileUploadHandle(files) {    
    if (files && files.length > 0) {
      this.fileContentFormData = files[0];
    }
}

console.log('file content - ' + JSON.stringify(this.fileContentFormData));
form_data.append('file', this.fileContentFormData);
form_data.append('username', 'Chris');
console.log('form data - ' + JSON.stringify(form_data));

我知道正在检索文件,因为当我运行时 console.log('file content - ' + JSON.stringify(this.fileContentFormData)); 显示如下:

  

文件内容-{“ file”:{},“ id”:0,“ icon”:“ doc”,“ src”:{“ changingThisBreaksApplicationSecurity”:“ data:application / vnd.openxmlformats-officedocument.wordprocessingml。 document; base64,UEsDBBQABgAIAAAAIQAJJIeCgQ =“}}

但是,当我跑步时 console.log('form data - ' + JSON.stringify(form_data)); 甚至没有显示“用户名”键值对。

有人可以告诉我追加到此FormData对象时我做错了什么吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

以前,无法使用调试器检查FormData对象。现在,最新版本的Chrome和Firefox支持FormData.entries()来检查FormData

// Create a test FormData object
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');

// Display the key/value pairs
for (var pair of formData.entries()) {
    console.log(pair[0]+ ', ' + pair[1]); 
}

请检查this thread的来源。