Contrôle FileUpload résultant en un fichier vide
Je vais avoir quelques difficultés à utiliser le contrôle FileUpload dans asp.NET. Pour une raison que chaque fois que je tente de télécharger un fichier, le fichier est bientôt vide. Je suis en mesure d'enregistrer le fichier sans aucun problème, et quand je vérifie le contenu du billet qui est envoyé à la page de données est affiché (j'ai utilisé firebug pour apercevoir les en-têtes pour voir si quelque chose de fou qui se passait) mais le contrôle sauve juste un fichier vide et prétend que la taille du fichier est de -2 dans le code ci-dessous.
Quelqu'un a une idée de ce que pourrait être ce qui se passe ici?
try
{
UploadFile.PostedFile.SaveAs(filename);
}
catch (Exception ex)
{
lblStatus.Text = "NOT OK - COULDN'T SAVE:" + filename + " " + ex.ToString();
throw;
}
lblStatus.Text = "File Size: " + UploadFile.PostedFile.ContentLength.ToString();
Noter que le UploadFile.HasFile est de retour faux pour une raison quelconque, ici, et j'obtiens les mêmes résultats, si j'essaie UploadFile.SaveAs(nom de fichier) ou UploadFile.PostedFile.SaveAs(nom de fichier) .
Toute l'aide qui peut être fournie serait appréciée.
Oui - je avoir la permission - et, en fait, je suis capable d'écrire sur le serveur. Malheureusement, le contrôle FileUpload, c'est dire n'est pas leur contenu à écrire quand, après vérification au fichier d'origine ET des données publiées, il est clair qu'il y a des données à écrire. (Aussi - je suis sûr que si je n'avais pas l'autorisation d'écriture sur le serveur une exception de sécurité doit avoir entraîné dans le code ci-dessus plutôt que de la déclaration d'un fichier de la taille de -2 ).
Si vous créez une nouvelle page vierge et vient de mettre sur le contrôle de téléchargement et le bouton, ça fonctionne? Cela permettra d'éliminer d'autres contrôles sur la page d'intervenir.
OriginalL'auteur Streklin | 2009-11-12
Vous devez vous connecter pour publier un commentaire.
Si vous mettez votre UploadControl dans un UpdatePanel (Ajax), il ne fonctionne pas par défaut.
Vous devez déclencher une publication complète sur votre bouton "soumettre" comme ceci :
Avez-vous essayé de créer un projet vide et de mettre un FileUpload en elle pour voir si ça marche ?
OriginalL'auteur
Avez-vous toujours confrontés à la question? J'ai juste couru dans le même problème, et dans mon cas, l'erreur a été causée par l'utilisation et la fermeture de la FileUpload du contrôle de flux (Filecontrol.FileContent ou FileControl.PostedFile.InputStream), d'où j'ai obtenu un fichier téléchargé avec 0 taille. Retirer la partie du code a résolu le problème pour moi.
L.
OriginalL'auteur Laci
Assurez-vous que le <form> élément sur votre page a cet attribut/valeur
OriginalL'auteur Matthew