【发布时间】:2014-09-12 20:33:40
【问题描述】:
我在 AWS S3 存储桶中有一个 MP4 文件。
视图代码是这样的:
<video width="300px" controls>
<source src="/getS3File/<full-s3-filename-here>" type="video/mp4">
</video>
而后端Node.JS代码是这样的:
exports.gets3file = function(req, res, next) {
var env = require("./env.js");
var knox = require('knox');
var s3filename = req.params.id;
var submissionFileId = "https://TestS3File.amazonws.com/" + s3filename;
var s3Client = knox.createClient({
key: aws.accessKey,
secret: aws.secretKey,
bucket: "testbucket"
});
s3Client.get(submissionFileId)
.on('response', function(res) {
res.setHeader('Content-Length', res.headers['content-length']);
res.setHeader('Content-Type', res.headers['content-type']);
if (req.fresh) {
res.statusCode = 304;
res.end();
return;
}
if (req.method === 'HEAD') {
res.statusCode = 200;
res.end();
return;
}
res.pipe(req);
});
res.end();
};
当我执行这段代码时,我在节点日志中看到了这个错误:
Error: socket hang up
at createHangUpError (http.js:1472:15)
at CleartextStream.socketOnEnd [as onend] (http.js:1568:23)
at CleartextStream.onCryptoStreamEnd (tls.js:322:24)
at CleartextStream.g (events.js:180:16)
at CleartextStream.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)
at process._tickFromSpinner (node.js:394:15
关于:我可能做错了什么?
谢谢
【问题讨论】:
标签: node.js amazon-web-services