begin process at 2012 05 30 04:13:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Téléchargement et sauvergarde de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Téléchargement et sauvergarde de fichier

mardi 13 mai 2008 à 10:51:21 | Téléchargement et sauvergarde de fichier

ghostwan

Bonjour,

J'aurai voulus savoir si quelqu'un savait comment provoquer en javascript pur le téléchargement depuis le site et la sauvegarde d'un fichier.
Je m'explique; je développe actuellement un site intranet totalement client (-_-), qui génère des fichiers JSON. Actuellement je les sauvegarde dans un emplacement par défaut mais j'aimerai donner la possibilité à l'utilisateur de choisir son chemin d'accès. Puisque j'ai trouver le moyen d'écrire en local un fichier texte sur le disque (IE + mozilla) , soit je lance une fenêtre genre "sauvergarder sous" et je récupère le chemin indiqué, soit je génére le fichier json et je provoque sont téléchargement avec un lien(href="...").
Dans les deux cas j'ai un problème:
- Comment provoquer l'ouverture d'une fenêtre "sauvergarder sous" et comment récupérer le chemin cible
- Comment forcer sous IE le téléchargement d'un fichier (qui actuellement s'ouvre dans le navigateur).

Je vous remercie de vos réponses.
Cordialement,

Ghostwan

< Chaque solution cache un probléme. Chaque probléme est un nouveau défi. >

mardi 13 mai 2008 à 11:18:45 | Re : Téléchargement et sauvergarde de fichier

bultez

Membre Club


>> Puisque j'ai trouver le moyen d'écrire en local un fichier texte sur le disque (IE + mozilla )
    en pur javascript ?
    est-ce que tu peux nous donner des infos sur ça ?   comment fais-tu ?

>>Comment provoquer l'ouverture d'une fenêtre "sauvergarder sous"
    en fait, ton souci c'est de provoquer le téléchargement là où IE l'ouvre directement ?
    c'est ça ?


                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 13 mai 2008 à 11:33:28 | Re : Téléchargement et sauvergarde de fichier

ghostwan

Oui, mais je ne doit passé que par des technologie totalement cliente puisque je n'ai pas de serveur. Un fichier json étant du javascript ie me l'ouvre directement dans le navigateur.

Pour l'écriture dans les fichiers textes j'utilise deux fonctions une pour ie et une pour mozilla:
pour ie c'est tout con je passe pas les activeX

var ts = fso.CreateTextFile(filename);
ts.Write(content);
ts.Close()

Pour mozilla je passe par une fonction décrite sur leur site:

/** Sauvergarde, sous Mozilla, d'un texte dans un fichier
    @param {string} content Contenus à sauver
    @param {string} filename Chemin du fichier destination (ex: C:\texte.txt), écraser s'il existe
*/ 
function saveToFileMozilla(content,filename) {
    try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {
        alert("Permission to save file was denied.");
    }
    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath( filename );
    if ( file.exists() == false ) {
        file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 );
    }
    var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"]
        .createInstance( Components.interfaces.nsIFileOutputStream );
    /* Open flags
    #define PR_RDONLY       0x01
    #define PR_WRONLY       0x02
    #define PR_RDWR         0x04
    #define PR_CREATE_FILE  0x08
    #define PR_APPEND      0x10
    #define PR_TRUNCATE     0x20
    #define PR_SYNC         0x40
    #define PR_EXCL         0x80
    */
    /*
    ** File modes ....
    **
    ** CAVEAT: 'mode' is currently only applicable on UNIX platforms.
    ** The 'mode' argument may be ignored by PR_Open on other platforms.
    **
    **   00400   Read by owner.
    **   00200   Write by owner.
    **   00100   Execute (search if a directory) by owner.
    **   00040   Read by group.
    **   00020   Write by group.
    **   00010   Execute by group.
    **   00004   Read by others.
    **   00002   Write by others
    **   00001   Execute by others.
    **
    */
    outputStream.init( file, 0x04 | 0x08 | 0x20, 420, 0 );
    var result = outputStream.write( content, content.length );
    outputStream.close();
}

J'ai regarder ton site (en faite ca fait même 3 jours que je l'épluche), beau boulot! J'ai vu que tu était calé dans la matière, est ce que tu serais comment provoquer l'ouverture d'un file browser pour sauvergarder fichier ou choper l'url d'un emplacement?

< Chaque solution cache un probléme. Chaque probléme est un nouveau défi. >

mardi 13 mai 2008 à 11:58:53 | Re : Téléchargement et sauvergarde de fichier

bultez

Membre Club


ah ben... si on peut écrire dans un fichier texte avec FF,
    ça ouvre ( enfin ! ) des horizons intéressants !


>>est ce que tu serais comment provoquer l'ouverture d'un file browser
    je ne sais pas si on peut forcer IE ( un navigateur quelconque ) à faire ce qu'on veut.
    on parle souvent de type mime, mais franchement....
       je ne sais pas trop qu'en faire !

    il faudrait changer l'extension du fichier.  
       appelle le ( ou renomme le temporairement par prog )  .zip, .txt ...

    ou alors faire ça totalement avec FileSystemObject ( pour IE )
   
    en fait... je ne vois pas ( je comprend pas ! ) ce qui gène ?
    l'utilisateur dit où il veut mettre, on y écrit le fichier. point barre...
       il y a probablement un truc que je ne suis pas...
      

                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 13 mai 2008 à 12:29:44 | Re : Téléchargement et sauvergarde de fichier

ghostwan

Si tu veut dans la même veine j'ai la copie d'un fichier quelconque en local (donc la lecture et l'ecriture d'une suite de bits avec ie ou firefox) et la lecture d'un fichier texte.
Pour en revenir a mon problème
>>    l'utilisateur dit où il veut mettre, on y écrit le fichier. point barre...
Pour que l'utilisateur indique où il veut écrire son fichier, j'aimerais passé non pas par un champ texte classique mais par un browser comme "save as". Si j'arrive a en ouvrir un avec la balise <input type="file"/> ou un truc dans le genre, il m'en ouvre un "open" qui ne me permet pas de choisir un dossier et le nom du fichier sous lequel je veut sauver mon mon contenus JSON.

< Chaque solution cache un probléme. Chaque probléme est un nouveau défi. >

mardi 13 mai 2008 à 12:50:44 | Re : Téléchargement et sauvergarde de fichier

bultez

Membre Club
Réponse acceptée !


choix d'un répertoire ?

    avec IE   ==> des explications ici

    avec FF    ?   j'aurais dit file input, choix d'un fichier quelconque ==>
          on en tire le répertoire, mais "pas trés heureux"
          peut-on plus ?   je ne sais pas, mais comme j'ignorais
          qu'on pouvait écrire dans un fichier....
          remarque que les ActiveX peuvent très bien fonctionner sous FF !
          c'est "pas simple", mais ça baigne :  plusieurs liens : ici et ici
             il y en a d'autres... mais ça n'intéresse personne ?

  

                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 13 mai 2008 à 14:12:39 | Re : Téléchargement et sauvergarde de fichier

ghostwan


Voila j'ai créé une sources avec en plus des fonctions pour manipuler le presse papier
http://www.javascriptfr.com/codes/MANIPULATION-SYSTEME-FICHIER-LOCAL-JAVASCRIPT-IE-MOZILLA_46655.aspx

Bon je vais continuer de chercher pour indiquer ou sauver le fichier, je posterais la technique quand je l'aurais trouvée

< Chaque solution cache un probléme. Chaque probléme est un nouveau défi. >

mercredi 14 mai 2008 à 14:19:05 | Re : Téléchargement et sauvergarde de fichier

ghostwan


bon ton idée était bonne, le coup des input en bidouillant le truc je m'en suis sortie, même si je doit créé au préalable un fichier pour pouvoir écrire dedans.

< Chaque solution cache un probléme. Chaque probléme est un nouveau défi. >

mercredi 14 mai 2008 à 15:00:56 | Re : Téléchargement et sauvergarde de fichier

bultez

Membre Club
nickel si tu es parvenu à ce que tu voulais,
et ta source : nickel aussi.

                Cordialement            Bul         [mon Site]     [M'écrire]


Cette discussion est classée dans : fichier, téléchargement, chemin, actuellement, sauvergarde


Répondre à ce message

Sujets en rapport avec ce message

Téléchargement d'un fichier à partir d'un "confirm" [ par Artiste_Gunm ] Je souhaite réaliser un téléchargement de fichier grâce à un script et d'un "confirm". Si quelqu'un pouvais m'envoyer une proposition...Merci d'avance Temps de téléchargement d'un fichier [ par iorekremy ] Salut à tous,Je cherche à faire une page web pour indiquer le temps de téléchargement d'un fichier en fonction de sa taille et du débit de transfert e Récup du chemin avec parcourir [ par kazimod0 ] Salut Je vousdrais récupérer le chemin d'un fichier sélectionné par . Cela fonctionne bien, mais quand le fichier a une taille importante, le temps de Forcer le téléchargement d'un pdf [ par Charcute ] Bonjour,j'ai recours à vous car je cherche à forcer le navigateur web à ouvrir une fenêtre permettant d'enregistrer le fichier à télécharger sans qu'i Empecher le téléchargement d'un fichier .js [ par nisaloncaje ] Bonjour, sur mon site je désirerais empêcher le téléchargement d'un fichier .js (afin de protéger ma source)Merci d'avance de votre aideNC HELP : Détection de la barre empèchant le téléchargement [ par jbouyer ] Je voudrai savoir si c'était possible de détecter la barre qui bloque le téléchargement de fichiers et qui s'affiche à chaque fois. En effet, j'ai un téléchargement automatique [ par rajaa1 ] Salut,Comment faire pour qu' un lien (qui me sert à télécharger un fichier Excel& animation quelconque pendant un téléchargement [ par GoldPegasus ] voila j'aimerai mettre une animation pendant le téléchargement d'un fichier la plus par du temps PDF. suite a ce téléchargement l'ouverture de ce fich JavaScript ne marche pas avec FireFox et Google Chrome [ par rickq ] Bonjour,J'ai écris un petit script qui compte le nombre de passage sur une page htm. Il incrémente une valeur qui est stocké dans un fichier .txt. Il chemin d'enregistrement d'un fichier [ par nien ] Bonjourune question simple :comment récuperer le chemin complet du fichier enregistré grace à execCommand("SaveAs"....)Merci merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales