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

JavaScript Discussion :

Comment copier un fichier dans un dossier de mon choix


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut Comment copier un fichier dans un dossier de mon choix
    Bonjour je cherche à copier un fichier image qui me sera donné du serveur mais je veux savoir comment faire pour le copier dans un répertoire de mon choix un peu lorsqu'on sauvegarde pour la première fois un fichier il y-a une boîte(j'ai oublié comment on l'appelle)qui s'ouvre et nous permet d'aller enregistrer le fichier où l'on veut.
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    Impossible en javascript pour des raison évidentes de sécurité !!!
    la boite de dialogue fichier reste sous la maitrise du client ! js n'a pas la main dessus
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    dans ce cas comment dois-je procéder puisque je veux avoir un bouton qui permettra à un utilisateur de copier une image sur son poste?

  4. #4
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    tu peux ajouter un lien qui fait le lien direct vers ton fichier sur le serveur?

  5. #5
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    je n'ai pas très bien compris la dernière remarque

  6. #6
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Le lien direct va proposer à l'utilisateur d'enregistrer la cible du lien. Par contre, je ne sais pas si tous les navigateurs réagissent ainsi. Me semble déjà avoir eu des problèmes avec IE.

  7. #7
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    excuse moi, je pense ne pas avoir bien compris le problème. Mais maintenant ça va mieux, le café est passé par là.
    Si j'ai bien compris, tu veux faire une copie 'locale' de ton image pour la traiter/modifier ou au moins la garder sous le coude?
    Ce que tu peux faire, c'est à partir de JS faire des appels à des fonctions sur le serveur type webservice pour aller enregistrer dans un répertoire temporaire, pour que le serveur aille faire des manipulations sur commande de l'utilisateur.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    en javascript forcer le download n'est pas possible suaf si le fichier concerné est un zip.
    un simple lien pointant vers le zip proposera le download

    Sinon il faut passer coté serveur pour envoyer les headers appropriés pour forcer le download
    par exemple en php http://php.developpez.com/faq/?page=..._forcedownload
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut
    je suis plutôt tenté par la solution de SpaceFrog et voici ce que je fais mais pas de téléchargement:
    fonction js qui envoi au serveur l'action à effectuer dans l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    function downloadWithajax()
    	{
     
    		var xhr=null;
    		if (window.XMLHttpRequest) { 
    			xhr = new XMLHttpRequest();
    		}
    		else if (window.ActiveXObject) 
    		{
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		//on définit l'appel de la fonction au retour serveur
     
    		xhr.onreadystatechange = function() { 
     
    			if(xhr.readyState == 4 && xhr.status == 200)
    			{
    			  alert("OK");
     
    			}
     
     
    		};
     
    		//on appelle le fichier php adéquat
    			 xhr.open("GET", "dicom.php?action=download", true);
    		try
    		{
    			xhr.send(null);
    		}
    		catch(ex)
    		{
    		  //alert(ex);
    		  logMyErrors(ex);
    		}
     
     
    	}
    et du côté php voici le code aprè récupération de la variable passé à l'url (fichier image à télécharger depuis le serveur 1.3.12.2.1107.5.2.6.14044.30000005122107122404600000039.jpg)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    case 'download':
     
    						$full_path = '1.3.12.2.1107.5.2.6.14044.30000005122107122404600000039.jpg'; // chemin système (local) vers le fichier
    						$file_name = basename($full_path);
     
    						ini_set('zlib.output_compression', 0);
    						$date = gmdate(DATE_RFC1123);
     
    						header('Pragma: public');
    						header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
     
    						header('Content-Tranfer-Encoding: none');
    						header('Content-Length: '.filesize($full_path));
    						header('Content-MD5: '.base64_encode(md5_file($full_path)));
    						header('Content-Type: application/octetstream; name="'.$file_name.'"');
    						header('Content-Disposition: attachment; filename="'.$file_name.'"');
     
    						header('Date: '.$date);
    						header('Expires: '.gmdate(DATE_RFC1123, time()+1));
    						header('Last-Modified: '.gmdate(DATE_RFC1123, filemtime($full_path)));
     
    						readfile($full_path);
    						exit; // nécessaire pour être certain de ne pas envoyer de fichier corrompu
     
     
        		break;

Discussions similaires

  1. Copier un fichier dans un dossier sur le serveur avec PHP
    Par dotnet_kbma dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/01/2010, 21h27
  2. Comment copier un fichier dans le dossier temporaire ?
    Par zaydoun_391 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 28/12/2007, 05h42
  3. Réponses: 1
    Dernier message: 16/02/2006, 08h50
  4. [Système] Comment copier un fichier dans le presse papier ?
    Par le y@m's dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/09/2005, 12h03
  5. Réponses: 4
    Dernier message: 17/06/2005, 10h09

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