【发布时间】:2020-02-10 11:01:06
【问题描述】:
我尝试使用我的 NestJs 后端发送一个 WebAssambly 文件,如下所示
@Get('wasm')
private getWasm(req: Request, res: Response) {
fs.readFile('barfoo.wasm', 'binary', (err: any, data: Buffer) => {
res.setHeader('Content-Type', 'application/wasm');
res.status(200).end(data);
});
}
但是,在浏览器中我看到以下错误
但是当我按如下方式提供文件时
@Get('wasm')
private getWasm(req: Request, res: Response) {
res.sendFile(path.join(__dirname, '../../../barfoo.wasm'));
}
一切正常。
所以我的问题是,为什么我的第一个示例不起作用?
更新:我已将代码提取到一个非常基本的快速服务器中
app.get('*', (req, res) => {
const file = (req.url.length > 1 ? req.url : 'index.html').replace(/^\//, '');
console.log(`loading file ${file} for url ${req.url}`);
fs.readFile(`./${file}`,(err, data) => {
res.writeHead(200, {'Content-Type': mime.lookup(file)});
res.status(200).end(data);
});
});
在这里它就像一个魅力
【问题讨论】:
标签: javascript express binary nestjs webassembly