我有一些文件,是从Unity构建中得到的,但我无法添加标头。它们的扩展名为jsgz、memgz和datagz。它们位于我的NodeJs项目的公共文件夹中。我正在使用Express 4,并已设置压缩,但我认为这仅压缩了现有的传输文件,而不处理已经压缩的文件。我尝试使用app.get添加标头,但似乎没有起作用:
app.get('/blah/unitymodels/Release/widget.js', function(req, res, next) {
... Check ['accept-encoding'] ...
if (acceptsGzip) {
var gzippedPath = req.url + 'gz';
res.sendFile(gzippedPath, {
root: './public',
headers: {
'Content-Encoding': 'gzip',
'Content-Type': 'application/javascript'
}
}
...
我已经尝试过以下两种设置头部的方式,一种是使用res.set,另一种是先设置头部然后让next()调用来处理响应。但是每当我收到文件时,它只是一个gzip文件而没有额外的头部信息,浏览器无法理解。我尝试了其他添加头部信息的方法(如'wibble'、'x-timestamp'等),因此我认为有其他东西正在拦截这些特定的头部信息。我该如何返回这些压缩文件以便浏览器能够理解它们呢?