簡體   English   中英

Cordova GZip 解壓不起作用

[英]Cordova GZip decompression doesn't work

我嘗試啟用 GZip 壓縮以提高客戶端和服務器之間的連接性能,但 WebView 似乎不會解壓縮 GZip 響應。

響應頭(來自服務器)包含: Content-Encoding:gzip Content-Type:application/gzip

正文包含壓縮的 JSON

在桌面瀏覽器上一切正常,但如果它是 Chrome DevTools 中的 android 設備,我會看到壓縮的正文。 移動應用程序不會解壓縮響應正文。

創建問題https://issues.apache.org/jira/browse/CB-9427

當我將內容類型更改為“application/json”時,問題就解決了。

這是來自 Grape 框架應用程序的示例:

module App
  class Users < API

    resource :users do
      format :json
      content_type :txt, "application/json"
      parser :json, nil

      desc "Get users"
      params do
        optional :role, type: String, desc: "User's role"
      end

      get '/all' do
        users = User.all
        path = "#{Rails.root.to_s}/tmp/user_response.gz"
        FileUtils.rm_rf(path, secure: true)
        Zlib::GzipWriter.open(path){|gz| gz.write(users.to_json) }
        content_type "application/json"
        header['Content-Encoding'] = 'gzip';
        env['api.format'] = :json
        File.open(path).read
      end
    end
  end
end

問題https://issues.apache.org/jira/browse/CB-9427已關閉。

感謝科爾多瓦支持團隊!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM