J'ai téléchargé un fichier texte dans ma base de données dans un champ Image. Le problème est lorsque j'essaie de récupérer le fichier (rendre l'utilisateur capable de le télécharger en cliquant sur un lien). Lorsque j'essaie de le télécharger, il est simplement rempli avec le contenu de la page Web (tout le code HTML est rempli dans le fichier texte). Je considère qu'il s'agit d'une erreur dans la façon dont j'essaie de télécharger le fichier. N'est-il pas possible de diffuser le contenu dans un fichier, sans d'abord l'enregistrer dans un fichier temporaire?Enregistrer le fichier à partir du champ Image de la base de données
Le code que j'utilise est illustré ci-dessous. Uploadfiles est ma classe qui contient les données, id, nom, etc.
public void DownloadUploadedFile(Page sender, UploadFiles uf)
{
sender.Response.ContentType = uf.FileType; // the binary data
sender.Response.AddHeader("Content-Disposition", "attachment; filename=" + uf.FileName);
sender.Response.BinaryWrite(uf.FileData);
}
J'ai ajouté le .Clear() et le .close(), mais maintenant il ne me demande pas d'enregistrer ou ouvrir le fichier, et continue à charger pour toujours. Je pense que c'est parce que je ferme le fichier, avant que l'utilisateur ait eu la possibilité de le sauvegarder? – Dofs
J'ai découvert que je devrais écrire sender.Respons.Close() et puis je n'ai pas obtenu tout le code HTML. Mais maintenant le fichier contient juste une chaîne "System.Byte []" et pas le contenu réel? – Dofs
Je vais faire un nouveau sujet avec la nouvelle question. – Dofs