Eh bien, lorsque vous déplacez un fichier (dans le même lecteur), vous ne dire le système de fichiers que le fichier peut être trouvé ailleurs, vous ne déplacez pas les données. Donc je suppose que le mouvement va de l'avant et dit au système de fichiers où le fichier peut maintenant être trouvé, mais l'opération FTP a déjà alloué de l'espace sur le disque dur pour les données réelles et donc le fait que le fichier a été déplacé, ' t affecter où les données sont stockées de quelque façon, et tout fonctionne.
Si vous déplaciez le fichier sur un autre lecteur, je supposerais que quelque chose se casserait quelque part.
Si vous avez accès au client, vous pouvez demander au client d'écrire un autre petit fichier par la suite avec le nom bigfile.zip.complete
ou similaire, et votre application serveur pourrait attendre cela avant de commencer le traitement, de cette façon vous serez sûr que la copie est terminée (cela fonctionnerait également au cas où la connexion serait interrompue à mi-chemin et que le client arrête de télécharger le fichier même s'il n'est pas terminé).
Ou si vous n'avez pas accès au client, peut-être que vous pourriez essayer de regarder la taille du fichier, si elle n'a pas changé en tant que secondes ou minutes, alors il est espéré fini.
J'ai déjà résolu le problème en essayant d'ouvrir le fichier en écriture. Mais juste courageux pourquoi l'OS l'a permis –
C'est une situation parfaitement normale sous unixes – lispmachine