静态文件与流式 node.js

从服务器发送大文件(如“音频”文件、流的静态文件)有什么更好的方法? 我正在使用 node.js 和 express.js 实现音频播放器 API,但我正在寻找更好的性能。

我可以像这样使用 express 发送音频:

app.use('/uploads',express.static(path.join(__dirname,'../','uploads')));

或者使用 fs 流,例如:

export async function streamAudio(req: Request,res: Response,next: NextFunction) {
    try {
        const filePath: string = req.params.fileName;

        const actualPath = path.join(__dirname,"/../../../",filePath);
        console.log(actualPath);

        const state = fs.statSync(actualPath);
        res.writeHead(200,{
            "Content-Type": "audio/mpeg","Content-Length": state.size,});

        const readStream = fs.createReadStream(actualPath);

        readStream.pipe(res);
    } catch (err) {
        next(err);
    }
}

我还有一个问题,如何使音频无法下载?所以我可以制作一个下载端点选项来跟踪下载。

liuyang0120 回答:静态文件与流式 node.js

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1141.html

大家都在问