2016-04-07 89 views
3

以及我已經嘗試了不同的方式來上傳一個200k文件增加了限制改變了參數,做了我所做的一切改變了multer。 Fucei所有我知道我在堆棧中閱讀的內容,我在谷歌搜索到的基本谷歌搜索完成了我的問題,但沒有起來,但下來的圖片就像一個魅力。服務器支持上傳圖像我atualemente用php做這個任務,但如果不在nodejs中滾動,我會在php中執行相同的文件。感謝收聽。節點js請求實體太大,上傳多幅圖片

我的代碼

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var bodyParser = require("body-parser"); 
var fs = require('fs'); 
var multer = require('multer'); 



var destino = '/var/www/upload/'; 
var upload = multer({dest: 'uploads/', 
    rename: function (fieldname, filename) { 
     return filename + Date.now(); 
    }, 
    limits: { 
     fieldNameSize: 200, 
     files: 5, 
     fields: 5 
    } 
}); 

app.use(bodyParser.urlencoded({extended: true})); 
app.use(bodyParser.json()); 




app.post('/image', upload.single('message'), function (req, res) { 


    var file = req.file; 
    fs = require('fs') 
    fs.readFile(file.path, 'base64', function (err, data) { 
     if (err) { 
      return console.log(err); 
     } 

/* do something if data*/ 
     fs.unlinkSync(file.path); 
    }); 

    }); 

http.listen(8080, function() { 
    console.log("Conectado e escutando na porta: 8080"); 


}); 

錯誤表演對我來說就是這樣:錯誤:請求實體太大

 at readStream (/var/www/likeyounode/node_modules/body-parser/node_modules/raw-body/index.js:196:17) 
     at getRawBody (/var/www/likeyounode/node_modules/body-parser/node_modules/raw-body/index.js:106:12) 
     at read (/var/www/likeyounode/node_modules/body-parser/lib/read.js:76:3) 
     at urlencodedParser (/var/www/likeyounode/node_modules/body-parser/lib/types/urlencoded.js:109:5) 
     at Layer.handle [as handle_request] (/var/www/likeyounode/node_modules/express/lib/router/layer.js:95:5) 
     at trim_prefix (/var/www/likeyounode/node_modules/express/lib/router/index.js:312:13) 
     at /var/www/likeyounode/node_modules/express/lib/router/index.js:280:7 
     at Function.process_params (/var/www/likeyounode/node_modules/express/lib/router/index.js:330:12) 
     at next (/var/www/likeyounode/node_modules/express/lib/router/index.js:271:10) 
     at expressInit (/var/www/likeyounode/node_modules/express/lib/middleware/init.js:33:5) 

我複習所有的代碼,它僅僅需要的證據量顯示我想要的比這更多地展示我的項目。

在我做的這個主體中有一些配置,如果你注意到它們在內容中有說明,那麼懷疑不會擁有運行它自己的應用程序的所有功能。

+0

它看起來並不像你正在設置任何多層配置,你的代碼似乎不完整。 –

+0

你有沒有試過我的解決方案? :) – EMX

回答

8

在我的情況下,後設置限制@node.js的(Web應用程序) var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.json({limit:'50mb'})); app.use(bodyParser.urlencoded({extended:true, limit:'50mb'}));

我也(最重要的)必須設置限制@nginx(webapp反向代理) # Max upload size. client_max_body_size 50M;