当我尝试上传文件并将其存储到s3位置时,出现错误
Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:205:27)
这是版本问题还是bug?
var express = require('express'),
aws = require('aws-sdk'),
bodyParser = require('body-parser'),
multer = require('multer'),
multerS3 = require('multer-s3');
aws.config.update({
secretAccessKey: 'xxxxxxxxxxxxxxxxxxxxxxxxx',
accessKeyId: 'xxxxxxxxxxxxxxxx',
region: 'us-east-1'
});
var app = express(),
s3 = new aws.S3();
app.use(bodyParser.json());
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'xxxxx',
key: function (req, file, cb) {
console.log(file);
cb(null, file.originalname); //use Date.now() for unique file keys
}
})
});
//open in browser to see upload form
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
//used by upload form
app.post('/upload', upload.array('upl',1), function (req, res, next) {
res.send("Uploaded!");
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
并索引html文件
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="upl"/>
<input type="submit"/>
</form>
和软件包版本
"dependencies": {
"aws-sdk": "^2.753.0",
"body-parser": "^1.19.0",
"express": "^4.17.1",
"multer": "^1.4.2",
"multer-s3": "^2.9.0"
}
我的节点和npm版本n是
节点是:12.16.1 npm是:6.13.4
请任何人解决这个问题...
答案 0 :(得分:0)
此问题可能与this bug in NodeJS有关。您可以尝试做的一件事是将res.end();
和res.sendFile(...)
通话之后。如果那不起作用,则可能需要实现一个函数来调用流程uncaughtException,或者等待以查看Node社区最终如何解决该问题。