如何在浏览器中解压缩压缩文件?

静止

因此,我无法从服务器将PBF文件发送到已压缩的客户端。除了那些文件,其他所有内容都压缩了,我不明白为什么。因此,我决定先对文件进行gzip压缩,然后在浏览器中将其解压缩。

这是我将收到压缩文件的位置:

var soil = L.mbTiles("data/myLayer/{z}/{x}/{y}.pbf.gz", {
    name: "myLayer",
    storage: "myLayer",
    mbtileLayerName: "myLayer",
    maxNativeZoom: 10,
    minNativeZoom: 10,
    minZoom: 6,
    bounds: L.latLngBounds([36.9,-116.2],[35.0,-113.9])
})

现在,我将修改mbTiles,并在对其进行任何处理之前先将其解压缩。我该怎么做呢?

编辑这是我的server.js:

var loopback = require('loopback');
var boot = require('loopback-boot');
var compression = require('compression');
var bodyParser = require('body-parser');
var app = module.exports = loopback();
var session = require('client-sessions');
var path = require('path');
var expressStaticGzip = require("express-static-gzip");
app.engine('pug', require('pug').__express);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'pug');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(compression({ threshold: 0 }));
app.use(loopback.static(__dirname+'../'));
//app.use("/test/data", expressStaticGzip("../views/test/data"));

app.start = function() {
  // start the web server
  return app.listen(function() {
    app.emit('started');
    var baseUrl = app.get('url').replace(/\/$/, '');
    console.log('Web server listening at: %s', baseUrl);
    if (app.get('loopback-component-explorer')) {
      var explorerPath = app.get('loopback-component-explorer').mountPath;
      console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
    }
  });
};

boot(app, __dirname, function(err) {
  if (err) throw err;

  // start the server if `$ node server.js`
  if (require.main === module)
    app.start();
});
假设实验室

您需要告诉压缩模块这些文件是可压缩的。您可以在压缩选项对象中定义过滤方法。

过滤

决定是否应考虑响应进行压缩的功能。此函数称为filter(req,res),预期返回true以考虑压缩响应,否则返回false以不压缩响应。

默认的过滤器功能使用可压缩模块来确定res.getHeader('Content-Type')是否可压缩。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章