« nsIWebBrowserPersist の基本的な使い方 (1) ~ 基本形 | nsIWebBrowserPersist の基本的な使い方 (3) ~ 各種ヘッダの追加 » |
nsIWebBrowserPersist の基本的な使い方 (2) ~ persistFlags
saveURI / saveChannel を実行する前に nsIWebBrowserPersist オブジェクトの persistFlags プロパティに各種フラグをセットすることで、ダウンロードや保存の方式のオプションを指定できる。
PERSIST_FLAGS_BYPASS_CACHE
このフラグを立てると、キャッシュを無視して毎回Webサーバからダウンロードする。
厳密には、要求時に「Pragma: no-cache」「Cache-Control: no-cache」の2つのヘッダが付加される。
wbp.persistFlags |= wbp.PERSIST_FLAGS_BYPASS_CACHE;
PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION
このフラグを立てると、gzip圧縮転送された場合に非圧縮状態でファイルへ保存してくれる。
このフラグを立てないと、gzip圧縮転送されたデータは圧縮されたままファイルへと保存してしまうので注意。
あえて圧縮状態で保存する理由が思いつかないので、基本的にこのフラグは必須と考えてよさそう。
wbp.persistFlags |= wbp.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION;
PERSIST_FLAGS_APPEND_TO_FILE
Firefox 3 以降で対応。このフラグを立てると、ダウンロードしたデータを既存ファイルへ上書きせずに追記する。
wbp.persistFlags |= wbp.PERSIST_FLAGS_APPEND_TO_FILE;
参考
上記以外にも色々なフラグがある。詳しくは nsIWebBrowserPersist.idl を参照。
nsIWebBrowserPersist.idl
関連記事
nsIWebBrowserPersist の基本的な使い方 (1) ~ 基本形
nsIWebBrowserPersist の基本的な使い方 (2) ~ persistFlags
nsIWebBrowserPersist の基本的な使い方 (3) ~ 各種ヘッダの追加
nsIWebBrowserPersist の基本的な使い方 (4) ~ POST メソッド
nsIWebBrowserPersist の基本的な使い方 (5) ~ ダウンロード進捗状況
つづく…?