Télécharger l'image vers le serveur à l'aide de C#/.NET et le stockage de nom de fichier dans la DB
Je suis actuellement en utilisant l'extrait de code suivant pour insérer des données dans une table de ma base de données. Il fonctionne très bien. Mais, je veux commencer à ajouter le nom de fichier de données et vous ne savez pas comment procéder.
J'ai le texte suivant:
// Create command
comm = new SqlCommand(
"INSERT INTO Entries (Title, Description) " +
"VALUES (@Title, @Description)", conn);
// Add command parameters
comm.Parameters.Add("@Description", System.Data.SqlDbType.Text);
comm.Parameters["@Description"].Value = descriptionTextBox.Text;
comm.Parameters.Add("@Title", System.Data.SqlDbType.NVarChar, 50);
comm.Parameters["@Title"].Value = titleTextBox.Text;
J'ai aussi un de Téléchargement de Fichiers option. Mais, je ne sais pas comment l'utiliser pour effectuer les opérations suivantes:
- déplacer le fichier vers mon images répertoire et
- stocker les nom de fichier valeur dans ma table.
J'ai ajouté le bon enctype de ma forme, mais maintenant un peu perdu.
Quelqu'un peut m'expliquer la meilleure façon de le faire?
Merci beaucoup pour toute aide à ce sujet.
Si vous utilisez sql server 2008 , vous pouvez envisager d'utiliser des FILESTREAM .technet.microsoft.com/en-us/library/bb933993.aspx
OriginalL'auteur michaelmcgurk | 2011-05-19
Vous devez vous connecter pour publier un commentaire.
Pour stocker le fichier dans un dossier d'images, il convient de:
puis ajouter les paramètres de la commande dans le nom du fichier
Remarque: vous devez avoir le
FileName
champ dans votre table DB.Ce qui se passe quand vous essayez de télécharger un autre fichier avec le même nom de fichier? 🙂 Devraient plutôt de les stocker nom de fichier d'origine dans la DB, mais utiliser quelque chose comme un guid aléatoire ou le contenu de hachage pour stocker sur le serveur de système de fichiers.
oui, il serait mieux si vous le magasin d'origine de nom de fichier dans la base de données et de les stocker système de fichiers avec le GUID.
Salut. Je vais essayer cela tout à l'heure mais malheureusement obtenir l'erreur
"CS1061: 'System.Web.UI.HtmlControls.HtmlInputFile' does not contain a definition for 'SaveAs' and no extension method 'SaveAs' accepting a first argument of type 'System.Web.UI.HtmlControls.HtmlInputFile' could be found (are you missing a using directive or an assembly reference?)
des idées?vous êtes les bienvenus 🙂
OriginalL'auteur Muhammad Akhtar
Je suggère de stockage de fichiers dans la base de données. Cela permettra de garantir la cohérence des données.
Ajouter une colonne à la DB. Remplacer X par la taille appropriée, si l'image est de moins de 8000, ou spécifier le type de données varbinary(MAX) si elle ne l'est pas.
De code C#:
OriginalL'auteur Alex Aza