2012-04-06 8 views
1

私はファイルダウンロードを強制するためにCakePHPのメディアビューを使用しています。私のコードは、私はあなたの便宜のためにここに貼り付けるよこれ、かなりの正確the example provided in the cookbookのようなものです:CakePHP:メディアビューでの失敗したダウンロードの報告

データベースで
<?php 
class ExampleController extends AppController { 
    public function download() { 
     $this->viewClass = 'Media'; 
     // Download app/outside_webroot_dir/example.zip 
     $params = array(
      'id'  => 'example.zip', 
      'name'  => 'example', 
      'download' => true, 
      'extension' => 'zip', 
      'path'  => APP . 'outside_webroot_dir' . DS 
     ); 
     $this->set($params); 
    } 
} 

、私は、ファイルがダウンロードされた回数を追跡するフィールドを持っています。私は、この数字ができるだけ正確であることを確認する方法を探しています。ユーザーのダウンロードがキャンセルされるかタイムアウトすると、その数は増加しません。 CakePHPのメディアビューがダウンロードが成功したと報告する方法はありますか?

答えて

2

ファイルのダウンロードが完了したことを検出するのは簡単な作業ではありません。これは、javascriptを使ってクライアント側で行われるものですが、ブラウザはそれにフックを与えません。

かなり巧妙な解決策here(クッキーを設定してからjavascriptで探しています)がありますが、ダウンロードが開始されたときにのみ通知されます。

関連する問題