NodeJS – 将~36MBfile upload到VirusTotal失败

我正尝试使用NodeJS中的公共API使用请求将36MB的zip文件上载到Virus Total。 我目前遇到这个问题,当试图上传,无法弄清楚接下来要做什么解决。 他们的API没有声明任何文件大小的限制,他们的前端上传器指定了128MB的上传限制。

<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> 

代码是简单直接的,但真的不知道该怎么做才能解决这个问题。 任何帮助表示赞赏。

 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); }); 

VirusTotal 文件/扫描 API调用被限制为32MB。 如果您有很好的扫描大型文件的使用案例,您可以要求VirusTotal访问另一个可调用最大200MB文件的API调用。

Express增加了一个可以处理的http请求体大小的限制。 你需要重写这个。 var bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));