因此,我尝试使用角度7 / ng2-file-upload 上传文件,但我无法做到这一点,
因为出现错误400(必须输入字段名称),并且问题是我找不到将(键名/字段名)添加到文件的方法。
这是邮递员的示例:
我使用Form-data,然后添加一个键名(imgfile),然后在value字段中浏览到该文件,当我单击上载时,它就像一个超级按钮一样工作。但是,例如,如果我将键名更改为ex:(imgs),我复制了角度7中出现的错误。
这是我的TS:
uploader = new FileUploader({
url: this.FULL_URL
});
ngOnInit() {
const authHeader: Array<{
name: string;
value: string;
}> = [];
authHeader.push({
name: 'Authorization',
value: `Bearer ${this.token}`
});
const uploadOptions = <FileUploaderOptions>{ headers: authHeader };
this.uploader.setOptions(uploadOptions);
this.uploader.onBuildItemForm = (fileItem: any, form: any) => {
form.append('imgfile', fileItem);
//here is where i think i should added the key name,,, but i could not
manage to make it work
};
}
这是我的html:
<input type="file" ng2FileSelect [uploader]="uploader">
<button (click)="uploader.uploadAll()">Upload </button>
答案 0 :(得分:0)
根据github上的this讨论,我认为您需要从该方法返回一个对象。
试试这个:
this.uploader.onBuildItemForm = (fileItem: any, form: any) => {
form.append('imgs', fileItem);
return {fileItem, form};
};
答案 1 :(得分:0)
因此,在努力寻找解决方案之后,我终于找到了解决方案,在上载器中,我不得不添加 itemAlias
uploader = new FileUploader({
url: this.FULL_URL,
authToken: this.token`,
itemAlias: 'imgFile'
});