ここで何が起こっているのか、私は本当に唖然としています。
フロントエンド側で画像のサイズ変更/圧縮にPreprocess.jsを使用しています。ただし、image.onload の processfile() 関数 (32 行目) では、toDataURL() 文字列を Blob に変換しているため、ファイル オブジェクトとして API に送信できます。これを行うために、dataURItoBlob関数を使用しています。私はこれで終わります:
image.onload = function() {
var resized = resizeMe(image, fileinput, max_width, max_height);
var blob = dataURItoBlob(resized);
eventImages[0] = blob;
}
次に、eventImage のコンテンツを API に送信します。
さて、これはうまくいきます。画像のサイズ変更/圧縮が行われ、(成功の応答で) API に送信され、Web ページ内で出力画像を確認できます。
ただし、Chrome/Firefox のコンソール ([リソース] タブ) では、画像の重量が非常に大きくなっています (Chrome で 8MB、Firefox で 1.5MB)。
さらに奇妙なのは、Web ページ内に画像をロードすると、圧縮されたサイズであるかのようにロードされることです。しかし、API からの直接リンクからロードすると、ロードして表示されるまでに時間がかかります (8MB/1.5MB のデータをロードしているかのように)。
何が起きてる?すべてフロントエンド側ですか?ブラウザ、API、または MIME/Content-type に不具合はありますか?
どうもありがとう。