我有加密的mp4文件。
我想解密并返回响应中的视频数据而不保存磁盘上的解密数据。这就是我现在正在做的事情:
var fs = require('fs'),
crypto = require('crypto'),
encryptedFilePath = 'videos/1.mp4',
decrypedFilePath = "tmp/1.mp4",
algorithm = 'aes-256-ctr',
key = "abcd1234" ;
fs.createReadStream(encryptedFilePath)
.pipe(crypto.createDecipher(algorithm, key))
.pipe(fs.createWriteStream(decrypedFilePath))
.on("finish", function(){
res.sendFile(decrypedFilePath);
});
我想做类似以下的事情,但它没有工作:
fs.createReadStream(encryptedFilePath)
.pipe(crypto.createDecipher(algorithm, key))
.pipe(response);
更新1
我已经看到了两个选项的标题,它们是不同的。
使用.pipe(response)
:
使用res.sendFile(decrypedFilePath)
: