图像文件上传,邮递员正常工作,但是我的代码无法正常工作。是否需要进行任何更改?

问题描述 投票:0回答:1

我正在尝试将图像数据与表单数据一起发布。在邮递员中工作正常

在邮递员的标题区域下,我已设置..

Content-Type:multipart / form-data,

令牌:(用户令牌)

并且,在体内有两个字段askusImg :(选定的图像文件),

feedbackID:144

当我发送POST请求时,使用api_key作为参数,图像已成功插入Postman,但在我的项目中出现错误。

HTML

<input type="file" id="ssImg" [(ngModel)]="scShots" [ngModelOptions]="{standalone: true}" (change)="fileChange($event)" class="form-control m-input" name="screenshot" multiple size="10" > 
<br>

<div class="col-sm-12 form-group">
     <button (click)="feedbackFormSubmit()" class="btn m-btn--pill btn-primary m-btn m-btn--custom" type="submit">Send</button> 
</div>

TS

imgFile;
fileChange(event) {
        let fileList: FileList = event.target.files[0];
        this.imgFile = fileList;
    };


feedbackFormSubmit(){
        let form_Data = new FormData();
        let askUsID = 144;

        let api = BlankVars.scShotAPI; //correct as checked

        form_Data.append('askusImg', this.imgFile, this.imgFile.name);
        form_Data.append('feedbackID', askUsID);


        this._POST_api_Service.POST_ScreenShot(api, form_Data).subscribe(res => {
            console.log("res", res);
        })

    }

PostService.ts

POST_ScreenShot(api, postData) {
        let localToken = JSON.parse(localStorage.getItem('currentUser')).token;
        let api_key = 'Ij5DN44MDtnQv2I8zdAJg0xCGasLGJL6Jc6L4OOU';
        let scShotUrl = GlobalVariable.BASE_API_URL + api + '?api_key=' + api_key;

        let headersComCat = new Headers();
        headersComCat.append('token', localToken);
        headersComCat.append('Content-Type', 'multipart/form-data');

        let optionsComCat = new RequestOptions({ headers: headersComCat });

        return this.http.post(scShotUrl, postData, optionsComCat)
            .map((res: Response) => res.json())
            .catch((error: any) => {
                if (error.status === 401) {
                    window.alert("Session Timeout. Please Login Again.");
                    //localStorage.clear();
                    this._router.navigate(['/logout']);
                    return Observable.throw(new Error(error.status));
                }
            });
    }

当我检查代码localToken和API密钥时,也与我在邮递员中传递的值相同。但我收到此错误。

错误

您在期望流的位置提供了“未定义”。您可以提供一个Observable,Promise,Array或Iterable。

我可以知道需要更改什么?

javascript angular api form-data image-upload
1个回答
0
投票

使用授权更改标题“ token”,并将“ Bearer” +令牌作为值。

© www.soinside.com 2019 - 2024. All rights reserved.