canvasで描画したものをバイナリデータに変換しaxiosでNodeサーバーにpostしようとしています。
javascript クライアント
1document.getElementById("Send").addEventListener("click", function () { 2 const base64 = canvas.toDataURL("image/png"); 3 console.log(base64); 4 5 axios 6 .post("/post", { 7 pad: base64, 8 }) 9 .then(function (response) { 10 console.log(response, 1234); 11 }) 12 .catch(function (error) { 13 console.log(error); 14 }); 15 });
bodyParserの限界値の問題かと思い、50MBの記述をしても変わりません。さすがに送信データはそこまで大きくはないと思います。
何が間違いか、正しい記述を教えていただけないでしょうか。
javascript サーバー
1const path = require('path') 2const express = require('express') 3const multer = require('multer') 4const app = express() 5const port = 3000 6const bodyParser = require('body-parser'); 7app.use(bodyParser()); 8app.use(bodyParser.json({limit: '50mb'})); 9app.use(bodyParser.urlencoded({limit: '50mb', extended: true})); 10 11 12app.use(express.static(path.join(__dirname, 'public'))) 13app.get('/upload', (req, res) => res.sendFile(path.join(__dirname, 'public/index.html'))) 14 15app.post('/post', (req, res) => { 16 console.log(req.body); 17 console.log("postのリクエスト"); 18 19 const base64 = req.body.pad.split(',')[1]; 20 const decode = new Buffer.from(base64,'base64'); 21 fs.writeFile('test.png', decode, (err) => { 22 if(err){ 23 console.log(err) 24 }else{ 25 console.log('saved'); 26 } 27 }); 28}); 29 30 31 32app.listen(port,function(){ 33 console.log(`Example app listening on port ${port}!`) 34})

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。