IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[1.1]Supprimer un fichier inutile de mon site


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut [1.1]Supprimer un fichier inutile de mon site
    salut,

    je suis debutant en asp.net, et mon probleme actuel est le suivant.
    j'ai un datagrid qui se charge a partir d'une base de donnée sqlserver, dans chaque ligne j'ai un titre, et un lien vers un fichier pdf et un bouton 'delete'.
    ce que je veux faire, c'est que chaque fois je clique sur le bouton 'delete', je doix supprimer à la fois l'enregistrement en cour, chose que j'arrive a faire, mais je veux egalement supprimer le fichier pdf qui est lier a l'enregistrement en cour.
    dans la base de donnée, j'ai le chemin du fichier pdf qui sera supprimer quand je clique sur 'delete', mais le fichier lui meme ne sera pas supprimer.

    merci pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Tu peux mettre la chaine vide à la place du chemin du pdf dans ta base de donnée, non?

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Mon problème ne situe pas au niveau de la base de donnée
    ce que je veux faire c'est supprimer le fichier pdf de mon site, c'est à dire le supprimer dans le dossier où il est stocké dans le serveur.

  4. #4
    Membre confirmé
    Avatar de jpelaho
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 120
    Points : 487
    Points
    487
    Par défaut
    Tu veux le code pour effectuer cette suppression ou alors tu l'as et tu obtiens un message d'erreur. Donnes plus de précision s'il te plait.

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Non j'ai pas le code,
    et j'aimerais bien l'avoir dans ce forum

  6. #6
    Membre confirmé
    Avatar de jpelaho
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 120
    Points : 487
    Points
    487

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Merci pour le lien,
    et je m'excuse pour ce retard, voila je suis retourné pour essaiyer encore une fois de résoudre ce probleme, et j'espere y arriver cette fois.

    En local : j'arrive actuellement a supprimer l'image inutile du dossier images, grace au code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim file As String = "D:\MonSite\Images\image.gif"
    Dim img As System.IO.FileInfo = New System.IO.FileInfo(file)
    img.Delete()
    Mais En ligne : : et avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim file As String = "http:\\MonSite\Images\image.gif"
    Dim img As System.IO.FileInfo = New System.IO.FileInfo(file)
    img.Delete()
    J'obtiens ce message d'erreur :

    URI formats are not supported.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.ArgumentException: URI formats are not supported.

    Source Error:

    Line 74: con.Close()
    Line 75: AfficherNews()
    Line 76: Dim img As System.IO.FileInfo = New System.IO.FileInfo(file)

  8. #8
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonsoir

    C'est normal que tu ne puisse pas effacer une image sur un site !
    Imagines si n'importe qui, qui programme un peu, pouvait supprimer une image sur le site qui lui chante .
    Pour supprimer une image sur le serveur distant, tu peux utiliser la fonction

    Server.mapPath(".")

    Qui te renvoie le chemin physique de ton site sur le serveur:

    exemple: si ton site se trouver sur: Y://mesSites/theSite/leSiteQuiTue/, la fonction te renverra ce chemin.

    donc pour ta suppression sa va donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    dim sCheminPhysique as string=server.MapPath(".")
    ...
    Io.file.Delete(sCheminPhysique &"/image/monimage.jpg")
    ...

    A vérifier si la fonction renvoie un / en fin de chaîne

    Bonne journée

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Imagines si n'importe qui, qui programme un peu, pouvait supprimer une image sur le site qui lui chante
    Merci mafyoso,vous avez tout a fait raison

    je viens finalement de résoudre le probleme avec la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Delete(sCheminPhysique &"/image/monimage.jpg")
    Merci les amis

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Voila, j'ai eu une autre idée,
    je croix en fait, qu'il est preferable de déplacer le fichier a supprimer depuis le serveur vers mon disque dure au lieu de le supprimer indefiniment
    commeça je peux avoir un archive des fichier supprimer:
    voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Move(sCheminPhysique &"/image/monimage.jpg", "C:\")
    mais ça na pas marcher, j'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Paramètre incorrect.
    
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code. 
    
    Détails de l'exception: System.IO.IOException: Paramètre incorrect.

  11. #11
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonsoir
    L'exception levée est due au fait que la fonction move marche comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    io.file.move(sCheminPhysique & "/image/monimage.jpg","C:/monimage.jpg")
    Néanmoins tu essais de déplacer un fichier sur un serveur distant, en gros donc tu copies ton image sur la racine C:/ du serveur distant, selon les cas je dirai que le C:/ n'existe pas sur le serveur et si il existe il est sans aucun doute protégé contre toute écriture
    (En supposant que tu sois chez un hébergeur).

    Pour faire ce que tu souhaites, il faut télécharger le fichier du serveur distant vers chez toi, via ftp. Ou plus simple tu te créés un répertoire "Archive" à la racine du site, que tu purges de temps en temps mais ça répond moins à tes attentes.

    Si tu optes pour le ftp, je peux te passer une classe avec quelques fonctions utiles

    Bonne soirée

  12. #12
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Merci pour ces explications;
    Mais moi quand j'ai mis : "C:\ " j'entend par cela Le C de mon disque dure local.
    Voila j'ai trouver, il fallait que je lui ajoute le Nouveau Nom que doit prendre le fichier dans C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Move(sCheminPhysique &"/image/monimage.jpg", "C:\image.jpg")
    Le hic Maintenant c que le fichier supprimer prend tjrs le meme nom "image.jpg", donc il va ecraser l'ancien
    ce que je veux moi c qu'il garde le meme nom .

  13. #13
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Re Bonsoir

    J'ai bien compris que tu parler de ton C: local . Tant que tu lances ton site en localhost ou que tu l'héberges sur ton poste, c'est bon, par contre si tu le balances sur un serveur distant, chez ton hébergeur par exemple, ça ne marche plus ...
    Si tu persistes,néanmoins, dans cette voie , tu dois bien connaitres le nom de ton fichier. Tu peux donc faire comme ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sNomDeFichier as string='Récupération du nom du fichier via ton datagrid 
    'ou autre
    ...
    File.Move(sCheminPhysique & "/image/"& sNomDeFichier , "C:\"&sNomDeFichier )
    Voilà

    Bonne soirée

  14. #14
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Re Bonsoir,
    Vous avez encore une fois raison
    En local tous marche comme je veux, mais une fois heberger, le chemin n'est pas reconnu comme vous avez signaler
    dans ce cas, je croix que je vais opter pour le ftp, et j'ai donc besoin de ta classe magic

    Merci encore une fois

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 29
    Points : 34
    Points
    34
    Par défaut
    Pas la peine de passer par FTP

    HttpContext.Current.Server.MapPath(cheminVirtuel) => chemin physique

    Damien Thouvenin
    -------------
    CLT Services, spécialistes Dot Net + SQL 2005

  16. #16
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    merci dth-clt-services,
    mais j'ai pas compris comment ça fonctionne le:
    HttpContext.Current.Server.MapPath
    c quoi le chemin virtuel?????
    j'ai bien dis que je suis debutant

  17. #17
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonjour

    Bon aprés réflexion, le ftp ne convient pas par contre je vois pas en quoi le fait d'avoir le HttpContext.Current.Server.MapPath(".") va arranger le problème .
    "HttpContext.Current.Server.MapPath" ça correspond à ta variable sCheminPhysique donc tu connais déjà .
    Cette fonction permet de connaître le chemin physique de ton site sur le serveur distant. Mais c'est pas ça qui va te permettre de copier le fichier du serveur vers ton pc local, et tout ça sur décision d'un utilisateur .
    Du coup je vois pas trop , le plus simple c'est un repertoire "Archive" que tu vas récupérer à la main de temps en temps .

    Désolé

    PS:Si tu veux quand même la classe ftp je te la passe

    A bientôt

  18. #18
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Merci encore une fois pour tes explication,
    pour le répertoire Archive c'est exactement ce que javais fait

    je peux donc considerer que la tache est fini a present
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fichiers uploadés mais mon site ne s'affiche pas.
    Par Pifon dans le forum Hébergement
    Réponses: 1
    Dernier message: 15/08/2014, 01h04
  2. Bloquer l'affichage des fichiers source de mon site ?
    Par zvath773 dans le forum Débuter
    Réponses: 1
    Dernier message: 19/05/2012, 13h07
  3. Gérer les fichiers source de mon site
    Par ncheboi dans le forum Eclipse PHP
    Réponses: 0
    Dernier message: 04/03/2010, 14h19
  4. [C#2005] Supprimer un fichier utiliser par mon appli
    Par Herlece dans le forum Windows Forms
    Réponses: 9
    Dernier message: 09/09/2008, 17h06
  5. Lire un fichier vidéo sur mon site
    Par dolf13 dans le forum Langage
    Réponses: 6
    Dernier message: 28/07/2006, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo