【前提・実現したいこと】
NextJsを使って、画像データを使った処理を実装中です。
撮影したデータ(BLOB)を元にサーバ側で処理を行い、その結果を別画面で表示させます。
実現したい事は、撮影したデータ・もしくはサーバ側で処理した結果を、
別画面(結果表示画面)に POST で渡したいです。
【発生している問題・エラーメッセージ】
最初は画像データをBase64形式で、Router.push して渡そうとしましたが、
URL上限に引っかかってエラーとなりました。
次に、画像データで処理する部分はAPI化して、結果を受け取ってから遷移するようにしましたが、
URLクエリパラメータが非常に長くなってしまいました
(処理結果は数十の項目からなる為。また一時的に表示させるだけなので、保存もしていない)。
POST & formdata で渡せれば、後はサーバ側で処理するので、問題ないのですが、
画面から次画面へ遷移する時に、POST での渡し方が分かりません。
【該当のソースコード】
javascript
1let photoData = canvas.toDataURL("image/jpeg"); 2// サーバ側での画像の処理呼び出し(色々) 3fetch("/api/xxxx", { 4 method: 'post', 5 body: JSON.stringify({ 6 filename : "photo.png", 7 data : photoData 8 }) 9}) 10.then((request) => { 11 return request.json(); 12}) 13.then((json) => { 14 // 結果画面へ遷移(本当はPOSTで渡したい) 15 Router.push({ 16 pathname: '/xxxx/xxxxxxxx', 17 query: { 18 data: JSON.stringify(json.resultData) 19 } 20 }) 21})
【使っているツールのバージョンなど補足情報】
NextJs:9.4.4
あなたの回答
tips
プレビュー