Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fichiers en javaScript

Enregistrer un fichier dans un serveur sans l'uploader

    28 avril 2015 à 19:51:25

    Bonjour tout le monde :)
    -
    Je travaille sur une application web en NodeJs et EasyRtc (pour le p2p) ..
    Je me suis trouver face a l'obligation d'enregistrer le contenue d'un fichier dans la base de données du serveurs NodeJs sans l'uploader, pour qu'un autre client ou paire puisse le télécharger depuis le paire qui a voulue le partager,  
    -
    par exemple :
    ---> "Client_1" sélectionne son "fichier_1.doc" dans le <input type="file" id="fichier" ... /> et le javaScript de même page devrait émettre un message au serveur contenant les informations concernant ce fichier pour que le Client_2 ( Client_1 , Nom_Du_Ficiher , Taille_Du_Fichier ... etc ) ..
    -
    Le problème c'est que j'ai une Méthode, pour que le client 1 transfère le fichier au client_2, qui me retourne un objet FileSender qui se fait comme suite :

    var fileSender = esyrtc_ft.buildFileSender (...);
    fileSender(files, true);

    //files = document.getElementById('fichier').files et non pas document.getElementById('fichier').files[0]

    Pour pouvoir terminer mon application, je vous demande de trouver avec moi une façon d'enregistrer l'objet "files" dans le serveur sans uploader le fichier, j'ai pensé au chemin ou est enregistrer ce fichier dans la machine du client mais j'ai pas trouvé comment extraire le chemin avec javascript,, sinon des suggestion ?


    N'hésitez pas a posez vos questions sur NodeJs, webRTC, Socket.io :)
    -
    Salutation ;) 

    -
    Edité par Paco911 28 avril 2015 à 19:55:28

    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2015 à 11:40:59

      Bonjour,

      J'ai pas tout à fait compris ce que tu veux faire, mais si tu veux le chemin du fichier sur la machine de l'utilisateur, il est dans l'attribut value de ton champ d'upload de fichier.

      • Partager sur Facebook
      • Partager sur Twitter
        29 avril 2015 à 11:46:29

        Merci @Xia ...
        -
        mais l'attribut "value" nous retourne un faux chemin, les navigateurs pensent a la sécurité de nos machines, donc, en javascript ce n'est pas possible d’accéder a la machine :)

        -
        Edité par Paco911 29 avril 2015 à 11:47:10

        • Partager sur Facebook
        • Partager sur Twitter
          29 avril 2015 à 14:17:51

          Bonjour,

          Je ne comprend pas non plus ce que vous souhaitez faire. Vous voulez envoyer le contenu d'un fichier sur le serveur sans l'uploader ? C'est justement le principe de l'upload. Je pense que par upload vous pensez "le fichier sera écrit définitivement sur le disque du serveur", ce qui n'est pas totalement vrai.

          Rien ne vous empêche de faire l'upload, depuis le serveur lire le contenu du fichier et l'enregistrer dans la base (le fichier est positionné dans un répertoire temporaire sur le serveur et sera détruit tout seul).

          Une autre solution possible : lire le contenu du fichier en javascript (avec les nouvelles API) et envoyer le contenu, via ajax, au serveur (http://www.htmlgoodies.com/beyond/javascript/read-text-files-using-the-javascript-filereader.html#fbid=Y11ibvAhSZv)

          Angelis.

          • Partager sur Facebook
          • Partager sur Twitter
            29 avril 2015 à 19:39:05

            Merci pour votre effort @Anglis86

            -

            Je ne me suis pas bien expliqué je l'avoue, mais en d'autres termes, j'essay d'envoyer un fichier depuis un client vers un autre en utilisant les webRTC ( sans que le fichier passe par un serveur ),, par contre le serveur lui doit me stocker les informations nécessaires pour qu'un autre client puisse les utiliser pour établir un connexion direct avec le client possédant le fichier ( P2P ).. donc le fichier est sélectionner il y'a 10 jours par exemple,et quand un client_1 souhaite le télécharger, le serveur lui envoi l'id du client_2 possédant le fichier voulu, ce client_1 fait l'appel vers le client_2, SI LE CELUI LA EST EN LIGNE, je veut que sa page me transmette ce fichier :) ...

            -

            Pour m’en sortir j'ai fait en sort qu'a chaque demande de téléchargement, le Client_2 doit Re-sélectionner le fichier pour le Client_1.. et c'est en quelque sort du bricolage, j'aime pas cela :/

            -

            Merci a vous :) 

            • Partager sur Facebook
            • Partager sur Twitter
              6 mai 2015 à 10:35:17

              Bonjour,

              Le problème c'est que JavaScript ne peux pas accéder nativement au système de fichier sans action de la part de l'utilisateur. Je pense que vous pourriez utiliser le localStorage mais sa taille est limité donc vous ne pourrez pas mettre de gros fichiers en ligne.

              Malheureusement je ne vois pas d'autre solution.

              EDIT: je viens également de tomber sur ça : http://www.keithwhor.com/fso/.

              Angelis.

              -
              Edité par Angelis86 6 mai 2015 à 11:04:03

              • Partager sur Facebook
              • Partager sur Twitter
                7 mai 2015 à 13:54:56

                Boujour Angelis
                .
                Merci beaucoup je vais jeter un coup d’œil :)
                • Partager sur Facebook
                • Partager sur Twitter

                Fichiers en javaScript

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown