【发布时间】:2019-01-16 19:54:08
【问题描述】:
角度 4 烧瓶 1.0.2
大家好
我正在尝试通过填充新的 FormData() 对象并发布它来从 Angular 上传文件。它似乎可以发布,但我无法从 Flask 中获取帖子中的值。
我从按钮点击事件中调用它:
UploadFile() : void{
let formModel = new FormData()
formModel.set('fileName', this.fileName);
formModel.set('fileData', this.form.get('fileData').value);
this.filesProvider.UploadFile(formModel)
.subscribe(res => {
this.UploadFileProcessed(res, true);
}
, (err) => {
this.UploadFileProcessed(err, false);
}
);
...调用提供者...
UploadFile(formData: FormData) : Observable<Response> {
let headers = new Headers();
headers.set('Content-Type', null);
headers.set('Accept', "multipart/form-data");
headers.set('Authorization', 'Basic ' + btoa(access_token + ":"));
let requestOptions = new RequestOptions({ headers: headers })
return this.http
.post(this.globalVarsProvider.apiUrl + "member/uploadFile", formData, requestOptions)
.map((response: Response) => response);
}
在 Flask API 端我有这个:
@app.route('/api/member/uploadFile', methods=['POST'])
@auth.login_required
def uploadFile():
print request.form.get('key1')
return "ok"
在 Flask 开发服务器终端中运行此输出“None”。
如果我这样做print request.get_data(),我会看到所有帖子数据(包括疯狂的图像数据)。
在 Chrome 中,请求如下所示:
知道我做错了什么以及如何从 Flask 中获取数据吗?
谢谢!
【问题讨论】: