在没有 Ajax 和 jQuery 的 IE9/Angular 5/TypeScript 上使用 FormData
Using FormData on IE9/Angular 5/TypeScript without Ajax nor jQuery
在我的应用程序 Angular 5/Typescript 中,我有一个 UploadFile
组件,如下所示:
component.html
....
<form #formUpload id="formUpload">
<input type="file" class="input-file-ghost" (change)="onChangeFile($event.target.files)">
</form>
....
component.ts
export class UploadFileComponent implements OnInit {
@Input() .....;
@Output() filesAdded = new EventEmitter<File>();
@ViewChild('formUpload') formUpload: ElementRef;
...
constructor() { .... }
ngOnInit() { .... }
onChangeFile(files: File[]) { ..... }
}
Use case
<app-upload-file
[uploadFileConfig]="...."
(filesAdded)="....">
</app-upload-file>
**********
formCvData: FormData = new FormData();
onFileUploaded($event) {
const uploaded = $event;
this.formLmData.set('.....', uploaded, uploaded.name);
}
在 Chrome 和 Mozilla 浏览器上使用此组件时工作正常,但是当我继续使用 IE 9 时出现此错误:
'FormData' is undefined
我查看了 git 个问题和 Stackblitz 个项目,我没有找到任何可以用现代解决方案解决问题的东西。
重要提示: 我正在寻找不使用 jQuery 或 [= 的解决方案53=]
预先感谢您的帮助。
FormData 在 IE9 中不可用:
https://developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility
您必须自己手动收集和编码表单数据。
在我的应用程序 Angular 5/Typescript 中,我有一个 UploadFile
组件,如下所示:
component.html
....
<form #formUpload id="formUpload">
<input type="file" class="input-file-ghost" (change)="onChangeFile($event.target.files)">
</form>
....
component.ts
export class UploadFileComponent implements OnInit {
@Input() .....;
@Output() filesAdded = new EventEmitter<File>();
@ViewChild('formUpload') formUpload: ElementRef;
...
constructor() { .... }
ngOnInit() { .... }
onChangeFile(files: File[]) { ..... }
}
Use case
<app-upload-file
[uploadFileConfig]="...."
(filesAdded)="....">
</app-upload-file>
**********
formCvData: FormData = new FormData();
onFileUploaded($event) {
const uploaded = $event;
this.formLmData.set('.....', uploaded, uploaded.name);
}
在 Chrome 和 Mozilla 浏览器上使用此组件时工作正常,但是当我继续使用 IE 9 时出现此错误:
'FormData' is undefined
我查看了 git 个问题和 Stackblitz 个项目,我没有找到任何可以用现代解决方案解决问题的东西。
重要提示: 我正在寻找不使用 jQuery 或 [= 的解决方案53=]
预先感谢您的帮助。
FormData 在 IE9 中不可用:
https://developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility
您必须自己手动收集和编码表单数据。