我尝试使用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);
});
答案 0 :(得分:1)
VirusTotal file/scan API调用限制为32MB。如果您有一个很好的用例来扫描大文件,您可以要求VirusTotal访问另一个API调用,以获取更大的文件,这些文件最多可以包含200MB文件。
答案 1 :(得分:0)
Express增加了它可以处理的http请求正文大小的限制。你需要覆盖它。
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));