[英]Cordova GZip decompression doesn't work
我嘗試啟用 GZip 壓縮以提高客戶端和服務器之間的連接性能,但 WebView 似乎不會解壓縮 GZip 響應。
響應頭(來自服務器)包含: Content-Encoding:gzip Content-Type:application/gzip
正文包含壓縮的 JSON
在桌面瀏覽器上一切正常,但如果它是 Chrome DevTools 中的 android 設備,我會看到壓縮的正文。 移動應用程序不會解壓縮響應正文。
當我將內容類型更改為“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.