0

Je voudrais télécharger plusieurs fichiers dans une base de données SQL en utilisant AjaxFileUpload. J'ai une méthode que j'utilise pour télécharger un seul fichier; dans la page ASPX avec:Comment diffuser un fichier image dans une source de données SQL avec AjaxFileUpload?

<asp:FileUpload ID="file_Image" runat="server"/> 

Et dans la page aspx.cs avec:

protected void UploadFile(object sender, EventArgs e) 
{ 
    FileUpload FileUpload1 = file_Image; 

    // Read the file and convert it to Byte Array 
    string filePath = file_Image.PostedFile.FileName; 
    string filename = Path.GetFileName(filePath); 

    if (FileUpload1.HasFile && FileUpload1.PostedFile != null) 
    { 
     Stream fs = file_Image.PostedFile.InputStream; 
     BinaryReader br = new BinaryReader(fs); 
     Byte[] bytes = br.ReadBytes((Int32)fs.Length);}} 

Cependant, comment puis-je utiliser quelque chose de similaire pour AjaxFileUpload ou est-il même possible de diffuser des données d'image comme celle-ci du contrôle Ajax? Merci mille fois pour partager vos connaissances!

+0

Merci pour votre réponse; J'utilise SQL Server 2008 R2 (SQL Server Management Studio) – Jacman

+0

Je suppose que c'est une question compliquée; Cependant, y a-t-il une méthode que je pourrais approcher? – Jacman

+0

Dans quelle partie rencontrez-vous des difficultés? Un contrôle permettant plusieurs téléchargements de fichiers ou l'enregistrement dans la base de données? – jason

Répondre

1

[Parrainez AjaxFileUpload contrôle AjaxToolKit] [1] http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AjaxFileUpload/AjaxFileUpload.aspx

Ce nouveau contrôle AjaxFileUpload prend en charge le téléchargement de plusieurs fichiers à la fois. mais il vient avec une certaine limite que IE10 ou la dernière version de Chrome le supportent.

Ceci est très fiable, je l'utilise.

Une façon simple de convertir le contenu du fichier AjaxFileUpload dans un tableau sql varbinary:

protected void AjaxFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
{ 
byte[] image = e.GetContents(); 
} 
+0

Merci Romil! J'ai vérifié cet échantillon avant, mais il enregistre seulement dans le système de fichiers. – Jacman

+0

Maintenant, voyez la réponse exacte. –

+0

Merci beaucoup Romil! La deuxième méthode de GetContents() a parfaitement fonctionné. J'apprécie ton aide. – Jacman

Questions connexes