Ошибка 400 при загрузке файла в Angular 2+ - PullRequest
0 голосов
/ 15 марта 2019

Поэтому я пытаюсь загрузить файл, используя angular 7 / ng2-file-upload , но мне не удается это сделать,
, потому что я получаю ошибку 400 (имя поля является обязательным), и проблема в том, что я не смог найти способ добавить (имя ключа / имя поля) в файл.
Вот пример с Post-man:
Я использую данные формы, а затемЯ добавляю имя ключа (imgfile) и затем в поле значения я просматриваю файл, когда я нажимаю на кнопку загрузки, он работает как шарм.Но если, например, я изменил имя ключа на 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>

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

так что, изо всех сил пытаясь найти решение, я наконец-то получил его, в загрузчике мне пришлось добавить itemAlias ​​

uploader = new FileUploader({
        url: this.FULL_URL,
        authToken: this.token`,
        itemAlias: 'imgFile'
    });
0 голосов
/ 15 марта 2019

Согласно этой дискуссии на github, я думаю, вам нужно вернуть объект из этого метода.
Попробуйте это:

this.uploader.onBuildItemForm = (fileItem: any, form: any) => {
    form.append('imgs', fileItem);
    return {fileItem, form};
}; 
...