我需要允許下載文件,但必須跟蹤每個用戶下載的次數。增量下載w /支持下載管理器
我在這裏有一個簡單的代碼塊,允許用戶下載文件,然後當該用戶完成時,該回調會增加數據存儲區中的計數器。
如果用戶不使用下載管理器,這工作正常。但是,如果它們是(即:DownThemAll),那麼管理器會發出多個HTTP請求,並且每次都會調用回調。這刺激了下載次數並使其不可靠。 我試着通過觀察一個會話變量來短路多個請求 - 理論上這會將多個請求切換到一個。但它似乎DownThemAll沒有分享請求中的同一個會話,所以它不起作用。
有沒有辦法讓這項工作?
return \Response::stream(function() use ($stream, $file, $callback) {
while (!feof($stream)) {
echo fread($stream, 1024);
}
fclose($stream);
Log::info('Resource downloaded', ['resource' => $file]);
if (is_callable($callback)) {
call_user_func($callback);
}
}, 200, $headers);