我正在尝试将图像数据与表单数据一起发布。在邮递员中工作正常
在邮递员的标题区域下,我已设置..
Content-Type:multipart / form-data,
令牌:(用户令牌)
并且,在体内有两个字段askusImg :(选定的图像文件),
feedbackID:144
当我发送POST请求时,使用api_key作为参数,图像已成功插入Postman,但在我的项目中出现错误。
<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>
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);
})
}
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。
我可以知道需要更改什么?
使用授权更改标题“ token”,并将“ Bearer” +令牌作为值。