canvasで描画したものをバイナリデータに変換しaxiosでNodeサーバーにpostしようとしています。
javascript クライアント
document.getElementById("Send").addEventListener("click", function () { const base64 = canvas.toDataURL("image/png"); console.log(base64); axios .post("/post", { pad: base64, }) .then(function (response) { console.log(response, 1234); }) .catch(function (error) { console.log(error); }); });
サーバー側でtoo largeのエラーが出ます。
bodyParserの限界値の問題かと思い、50MBの記述をしても変わりません。さすがに送信データはそこまで大きくはないと思います。
何が間違いか、正しい記述を教えていただけないでしょうか。
javascript サーバー
const path = require('path') const express = require('express') const multer = require('multer') const app = express() const port = 3000 const bodyParser = require('body-parser'); app.use(bodyParser()); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true})); app.use(express.static(path.join(__dirname, 'public'))) app.get('/upload', (req, res) => res.sendFile(path.join(__dirname, 'public/index.html'))) app.post('/post', (req, res) => { console.log(req.body); console.log("postのリクエスト"); const base64 = req.body.pad.split(',')[1]; const decode = new Buffer.from(base64,'base64'); fs.writeFile('test.png', decode, (err) => { if(err){ console.log(err) }else{ console.log('saved'); } }); }); app.listen(port,function(){ console.log(`Example app listening on port ${port}!`) })
まだ回答がついていません
会員登録して回答してみよう