2010-11-24 32 views
1

Je vérifie connection_status() dans mon script shutdown pour détecter si le fichier que je suis en train de diffuser via php a été téléchargé ou interrompu. Cependant, comme le navigateur télécharge le fichier lors de l'invite de sauvegarde, et qu'il s'agit d'un très petit fichier (1 Mo), il est très facile d'obtenir des faux positifs lorsque le fichier a fini de télécharger en arrière-plan.Comment ne pas envoyer au navigateur toutes les données du fichier pendant l'invite de sauvegarde?

Y a-t-il un moyen de contourner cela? Par exemple ne pas envoyer le navigateur le fichier jusqu'à ce que l'utilisateur clique explicitement sur sauvegarder, ou s'il existe un autre mécanisme à exploiter.

Répondre

1

Le navigateur ne peut pas savoir quoi sauvegarder le fichier sans regarder les en-têtes, et il ne peut pas obtenir les en-têtes sans obtenir le fichier car il peut ne pas être sûr ou efficace de HEAD suivi d'un . Donc non, il n'y a aucun moyen de contourner cela.

+0

Je ne vois pas pourquoi il faudrait récupérer le fichier entier pour lire la tête, et le téléchargement par blocs. Cela n'implique-t-il pas essentiellement l'obtention de partiels arbitraires dans un dossier? –