2010-08-05 4 views
0

J'utilise ASP.NET et C#.Récupérer le fichier téléchargé dans ASP.NET

J'ai fait une page de téléchargement de document, dans lequel l'utilisation peut télécharger leur document. Je sauve trois champs dans la base de données,

  1. Document [nVarChar]
  2. Fichier [Image]
  3. DocumentType [nVarChar]

Maintenant, je suis en mesure d'ajouter des enregistrements dans la base de données, avec succès. Maintenant, je veux l'afficher dans le gridview, comme DocumentName, DocumentType et un lien pour télécharger le fichier.

J'ai essayé en récupérant les enregistrements et en les affectant à la grille, mais je ne reçois que deux colonnes.

+0

Je pense que vous devez créer manuellement le lien pour télécharger le fichier. Je ne pense pas qu'un GridView puisse le faire automatiquement pour vous. – bzlm

+0

J'ai créé ceci: Rahul

+0

Cela semble bon. Est-ce que ça marche? – bzlm

Répondre

0

Vous devez créer un gestionnaire de téléchargement qui sert le fichier réel.

Le gestionnaire peut extraire le fichier binaire de la table et écrire directement dans le flux de sortie.

La vue de la grille serait alors pointer vers ce gestionnaire

+0

Pouvez-vous s'il vous plaît me renvoyer à un exemple. Je n'ai aucune idée comment créer des gestionnaires de téléchargement. – Rahul

+0

Puis-je l'utiliser? http://aspnetupload.com/Quickstart/Download-From-File.aspx Je vais écrire le code dans l'événement clickbutton. – Rahul

0

Puisque vous stockez les fichiers DB vous devez écrire du code pour lire les données de fichier, ajoutez-tête approprié et ne response.write

par exemple

sur votre clic LinkButton gestionnaire le code sera quelque chose comme

private void lnkDownload_Click(object sender,args) 
{ 

//if you are using dataset the data will be of type byte array byte[] 
//assuming you have assign the binary data to byte array 

byte[] data; 
Response.Clear(); //clear buffer 
Response.ContentType = "image/gif"; //should be the MIME type of the document see http://www.w3schools.com/media/media_mimeref.asp for the complete list 
Response.AddHeader("content-disposition", "attachment;filename=" + yourfilename); //tell the browser the file is to be downloaded 
Response.BinaryWrite(data); 
Response.End(); 

} 
Questions connexes