2015-05-17 14 views
6

Sto tentando di caricare un file zip da 36MB su Virus Total utilizzando la loro API pubblica in NodeJS utilizzando la richiesta. Attualmente sto riscontrando questo problema quando provo a caricare e non riesco a capire cosa fare per sistemarlo. La loro API non indica alcun limite di dimensioni del file e il loro uploader frontend specifica un limite di upload di 128 MB.NodeJS - Carica ~ 36 MB di file su VirusTotal non funzionante

<html><head> 
<meta http-equiv="content-type" content="text/html;charset=utf-8"> 
<title>413 Request Entity Too Large</title> 
</head> 
<body text=#000000 bgcolor=#ffffff> 
<h1>Error: Request Entity Too Large</h1> 
<h2>Your client issued a request that was too large. 
</h2> 
<h2></h2> 
</body></html> 

codice è dritto in avanti e semplice, ma davvero non so cosa fare per risolvere il problema. Qualsiasi aiuto è apprezzato.

var request = require('request'); 
var fs = require('fs'); 

var formData = { 
    file: fs.createReadStream('./path/to/file.zip'), 
    apikey: 'public-vt-apikey' 
}; 

var options = { 
    url: 'https://www.virustotal.com/vtapi/v2/file/scan', 
    formData: formData 
}; 

request.post(options, function(err, res, body) { 
    console.log(body); 
}); 
+0

[Questo] (http://stackoverflow.com/questions/19917401/node-js-express-request-entity-too-large) sembra correlato ma è per Express che non stai utilizzando, quindi non sono sicuro se è rilevante . – aug

+0

forse quello ??? http://stackoverflow.com/questions/19917401/node-js-express-request-entity-too-large –

+0

Ho avuto problemi simili durante la pubblicazione di immagini sul mio server + –

risposta

1

La chiamata API VirusTotal file/scan è limitata a 32 MB. Se si dispone di un buon caso di utilizzo per la scansione di file di grandi dimensioni, è possibile chiedere a VirusTotal di accedere a un'altra chiamata API per file di dimensioni maggiori che possono contenere file fino a 200 MB.

0

Express aggiunge un limite sulla dimensione del corpo della richiesta http che può gestire. Devi scavalcare questo. var bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

+0

Questo non ha nulla a che fare con Express. – Dustin

Problemi correlati