angular - IE:将 FormData polyfill 添加到 angular 与 formly
问题描述
我在一个角度项目中正式使用https://www.npmjs.com/package/formdata-polyfill和 nxg 我的表单有一个正式配置的文件上传字段。现在我们必须支持 IE,并且需要一个 polyfill 才能使其工作,但我不知道如何添加它。错误是 IE 不支持 FormData.get 并且需要 polyfill。
polyfills.ts
...
import 'formdata-polyfill';
form.component.ts
...
this.fields = [
{
key: 'file',
id: 'field_import_file',
type: 'file-upload',
templateOptions: {
required: true,
fieldName: 'Import File',
floatLabel: 'always',
appearance: 'outline'
},
validation: {
validators: ['file-upload']
}
}
];
解决方案
formdata-polyfill
应该导入polyfills.ts
文件以便在应用程序之前加载。
/***************************************************************************************************
* BROWSER POLYFILLS
*/
...
import 'formdata-polyfill';
并且要提交文件,一旦表单触发提交事件,您需要Formdata
基于提交的模型构造一个实例。
export class AppComponent {
...
onSubmit(model) {
const formData: FormData = new FormData();
formData.append('file', model.file);
formData.append('firstname', model.firstname);
...
// send
this.http.post(url, formData) ...
}
}
推荐阅读
- javascript - 如何绑定 btn REACT 的值?
- blogger - 更改博主主页中帖子正文的文本大小(即片段的)
- javascript - CSS) 不能使高度从 0 过渡到 100%
- github-actions - 在 Docker 容器中的 GitHub 操作中运行多种语言版本的测试
- c# - DataTemplate 中嵌套元素样式的动态变化
- javascript - 如何在javascript中实现多个项目计数器?
- java - 每秒在谷歌地图中添加新标记
- iphone - Wordpress 选择文件按钮在 iPhone 上不起作用
- javascript - 资源所有者密码授予“必须是 POST 请求”
- javascript - 登录 Angular 后执行的最后一个函数