Wizard Notes

音楽信号解析の技術録、音楽のレビューおよび分析、作曲活動に関する雑記です

Flask+jQueryでFormDataのファイルと値を一緒にPOST

この記事をシェアする

JavaScriptからFlaskにファイルと何らかの値を一緒にPOSTしたい時に少し悩み、最終的に以下のようなコードで実現できました。

ポイントはFlaskでrequest.filesとrequest.valueを使い分けるところです。

javascript(クライアント側)

...
 var fd = new FormData();
fd.append('file', file_object); //POSTしたいファイルオブジェクト
fd.append('index', index); //POSTしたい値
...
$.ajax({
  ...
  data: fd,
  ...
})

Flask(サーバ側)

...
file = request.files['file']
index = request.values["index"]
...

medium.com