J'essaie de télécharger un fichier que j'ai téléchargé dans un champ d'image de ma base de données MS-SQL. Le problème est que lorsque j'essaie d'ouvrir le fichier, il dit simplement System.Byte [] au lieu de contenir le contenu réel.Lire le fichier de la base de données
uploadfiles est ma classe qui contient le nom de fichier, id, filedata etc.
public void DownloadUploadedFile(Page sender, UploadFiles uf)
{
sender.Response.Clear();
sender.Response.ContentType = uf.FileType;
sender.Response.AddHeader("Content-Disposition",
"attachment; filename=" + uf.FileName);
sender.Response.BinaryWrite(uf.FileData); // the binary data
sender.Response.End();
}
Ici, je récupère les données de ma base de données:
while (reader.Read())
{
UploadFiles uf = new UploadFiles();
uf.FileData = encoding.GetBytes(reader["filedata"].ToString());
uf.FileName = reader["name"].ToString();
uf.FileType = reader["filetype"].ToString();
uf.FileId = Convert.ToInt32(reader["id"]);
return uf;
}
Vous êtes sûr que les données binaires sont récupérées/stockées dans votre objet? Pouvez-vous montrer comment vous avez obtenu les données de la base de données? – CSharpAtl
pensé qu'il pourrait avoir à faire avec la récupération ... heureux que vous ayez la réponse. – CSharpAtl