- PR -

ファイル保存キャンセルをキャッチ

投稿者投稿内容
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-14 20:37
う〜む。面白いアイデアだと思ったのですが。

では、ステータスコード201を使う手はどうでしょうか?
こちらも妄想なのですが、ブラウザの挙動次第では検出率を高められるかも。

http://suika.fam.cx/~wakaba/-temp/wiki/wiki?201

302とか303とかだとリダイレクトしちゃってからダイアログだろうから
2xx系じゃないと駄目でしょうね。
1xx系もOKだしてない状態だからダイアログでないような気がする。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-15 15:40
いいだしっぺの法則で簡単な実験をしておきました。
実験結果を報告しておきます。

201 Created を返した場合と、202 Accepted を返した場合、IEでは
「Internet Explorer では、xxxxxをダウンロードできません。
 このインターネットのサイトを開くことができませんでした。
 要求されたサイトが使用できないか、見つけることができません。
 後でやり直してください。」
というダイアログが表示されました。
対応していないようですね…。

206 Partial Content を返した場合、レスポンスで返したContent-Rangeの
次の範囲を再度取得しに来ることを期待していたのですが、
リクエストヘッダRangeを指定したリクエストが再送されてくることはなく、
初期の206の際に書き出した内容だけの後ろの切れたファイルが保存されました。
う〜む。
IEってのはこういうステータスコードに対応していないもんなんですかねぇ。

302 Found、303 See Otherを使ったケースでは
リダイレクト要求がされてから保存場所指定のダイアログが開くので
使えないことが分かりました。こちらは予想通りですね。
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2006-12-15 16:11
ちなみに、キャンセルをキャッチできたとして、
どのような状況で何のために利用するんでしょうか?
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-12-15 16:22
「ちゃんと保存しろ!」とでも出したいんでしょうか。

とりあえず無理ですね。
ダイアログが出るときには、すでにローカルのテンポラリにダウンロードが終わってますし。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-15 16:34
無理なのは承知の上ですよ

引用:

あすかさんの書き込み (2006-12-14 18:03) より:
ファイルのダウンロードは無事行うことが出来ます。
ここで欲を出しました。

ファイルの保存ダイアログにて
ユーザが「キャンセル」したことを知ることができないだろうか。


とありますから、最初からおまけ的な話だと解釈しています。
インギさんが2006-12-14 18:56に
「サーバサイドで IOException を検出できない様なケースではムリ」
と発言した時点で確実な検出はできないという話は既出ですよね。

用途についてですが、ダウンロードのカウンタみたいなものを作った際に
数字の精度がやや上がる程度とか、途中キャンセルされる率が
どのぐらいか調べてみる、というぐらいの用途かなぁ。
なにぶん、原理的に確実な検出ができないので参考値にしかなり得ないと思います。

# そういえばスレ主の反応がないですね。
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2006-12-15 16:46
引用:

無理なのは承知の上ですよ


ああ、やっぱり無粋なツッコミでしたね。
なんか、みなさん「楽しそう(?)」だったのでアレかなーと思いつつも
解決することによる利点がなにかあるのかな、とおもいまして。

引用:

用途についてですが、ダウンロードのカウンタみたいなものを作った際に
数字の精度がやや上がる程度とか、途中キャンセルされる率が
どのぐらいか調べてみる、というぐらいの用途かなぁ。
なにぶん、原理的に確実な検出ができないので参考値にしかなり得ないと思います。


うーん、「エンドユーザの利益」にはなりそうにないかも。

# 手段のためならば目的は選ばない みたい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-12-15 17:05
う〜ん、業務システムであればデータファイルを
確実に取得したかを管理したいっていう要望もありそう・・・
逆に、1人あたり1度のみという限定をしたい場合もありですね。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-15 17:13
引用:

かつのりさんの書き込み (2006-12-15 17:05) より:
う〜ん、業務システムであればデータファイルを
確実に取得したかを管理したいっていう要望もありそう・・・
逆に、1人あたり1度のみという限定をしたい場合もありですね。



これって「確実に検出できる」という前提がついた場合ですよね。
原理的に確実な検出は無理なので業務システムで使うことはできないのでは。

スキルアップ/キャリアアップ(JOB@IT)