public function fileDownload(EditorHandler $handler, Storage $storage, $instanceId, $id)
{
if (empty($id) || !($file = File::find($id))) {
throw new InvalidArgumentException();
}
if (Gate::denies('download', new Instance($handler->getPermKey($instanceId)))) {
throw new AccessDeniedHttpException();
}
$storage->download($file);
}