Dossier de téléchargement javascript

Pour toutes les discussions javascript, jQuery et autres frameworks
loulou
Messages : 6
Enregistré le : 29 janv. 2020, 16:32

Dossier de téléchargement javascript

Message par loulou » 30 janv. 2020, 08:56

Bonjour,

Débutant en javascript, je cherche à écrire une fonction qui me renvoie le chemin du dossier de téléchargement par défaut de mon ordinateur, vérifier si un fichier donné se trouve dans ce dossier? Egalement je souhaiterais pouvoir récupérer l'adresse de l'URL du document.

Pourriez vous m'aider?

D'avance merci.

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Dossier de téléchargement javascript

Message par webmaster » 30 janv. 2020, 10:26

Bonjour,

Il n'est pas possible d'obtenir ces informations avec JavaScript.
Pour des raisons de sécurité et de confidentialité, le navigateur interdit toute lecture sur le disque dur de l'utilisateur.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

loulou
Messages : 6
Enregistré le : 29 janv. 2020, 16:32

Re: Dossier de téléchargement javascript

Message par loulou » 30 janv. 2020, 12:15

Bonjour,

Merci pour l'info. Je pensais que c'était possible. Je reprends mon problème d'une autre façon. J'ai trouvé les fonctions suivantes (sur le net) qui permettent de prendre une photo depuis une page html. La fonction sauver enregistre la photo quelque part. Ce que je souhaite c'est de pouvoir récupérer cette photo pour l'envoyer vers un google sheet. Si j'arrive à renvoyer l'image dans la fonction sauver se serait génial.

Auriez qq chose à me proposer?

D'avance merci.

function photo(){

var vivi = document.getElementById('sourcevid');
//var canvas1 = document.createElement('canvas');
var canvas1 = document.getElementById('cvs')
var ctx =canvas1.getContext('2d');
canvas1.height=vivi.videoHeight
canvas1.width=vivi.videoWidth
console.log(vivi.videoWidth)
ctx.drawImage(vivi, 0,0, vivi.videoWidth, vivi.videoHeight);
}

function sauver(){

if(navigator.msSaveOrOpenBlob){

var blobObject=document.getElementById("cvs").msToBlob()

window.navigator.msSaveOrOpenBlob(blobObject, "image.png");
}

else{

var canvas = document.getElementById("cvs");
var elem = document.createElement('a');
elem.href = canvas.toDataURL("image/png");
elem.download = "nom.png";
var evt = new MouseEvent("click", { bubbles: true,cancelable: true,view: window,});
elem.dispatchEvent(evt);
}
}

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Dossier de téléchargement javascript

Message par webmaster » 30 janv. 2020, 14:21

Je n'ai pas bien compris la partie "prendre une photo depuis une page html"

Voici un exemple de script qui envoie une image choisie par l'utilisateur vers un serveur
https://www.toutjavascript.com/livre/sc ... l=ajaxFile
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

loulou
Messages : 6
Enregistré le : 29 janv. 2020, 16:32

Re: Dossier de téléchargement javascript

Message par loulou » 30 janv. 2020, 15:46

Rebonjour,

Je m'étais sans doute mal exprimé. Vous voyez en pièce jointe une capture d'écran. C'est une interface sidebar (html et google script) depuis laquelle on active la camera, prendre une photo. Cette photo je souhaite par exemple la copier dans une celle d'un google sheet dès qu'on appuie sur transferer la photo.
Manuellement, si je fais un click droit sur la photo, je peux la copier et la coller dans la cellule souhaitée, je n'arrive pas à l'automatiser.

Merci pour toutes les réponses.
Fichiers joints
Capture.JPG
Capture.JPG (31.74 Kio) Vu 10003 fois

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Dossier de téléchargement javascript

Message par webmaster » 30 janv. 2020, 15:54

Ok, je comprends

Est-ce qu'il y aurait un lien vers cette fonctionnalité que je fasse des tests
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

loulou
Messages : 6
Enregistré le : 29 janv. 2020, 16:32

Re: Dossier de téléchargement javascript

Message par loulou » 30 janv. 2020, 16:59

Il n'y a rien de spécial la dedans, je suis juste entrain de tester pour voir comment je pourrai récupérer la photo prise que j'aurai besoin. Le code qui fait la photo c'est un open source.
Je peux partager le Google sheet avec vous ou vous envoyer le code.
Que souhaitez-vous ?

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Dossier de téléchargement javascript

Message par webmaster » 30 janv. 2020, 18:04

Je vous ai fait un MP avec mon adresse mail
Merci
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

loulou
Messages : 6
Enregistré le : 29 janv. 2020, 16:32

Re: Dossier de téléchargement javascript

Message par loulou » 10 févr. 2020, 14:22

Bonjour,

Je réactive ma dernière question concernant le téléchargement d'un fichier. Maintenant que je sais que l'accès au disque est restreint, j'essaye un autre moyen. Je cherche à envoyer sur google drive (c'est un https) et le récupérer en suite.

Pour envoyer la photo, j'utilise le moyen suivant:
var formImage = new FormData();
formImage.append('image_a', blob, 'image_a.jpg');
var ajax = new XMLHttpRequest();
ajax.open("POST","URL", true);
//ajax.setRequestHeader('Access-Control-Allow-Origin', '*');
ajax.send(FormData)

Problème:
A l'exécution, j'ai l'erreur en pièce jointe. Pour résoudre, je cherche à implémenter la méthode setRequestHeader mais, je n'arrive pas à trouver le bon paramètre, sauriez vous m'aider?

D'avance merci.
Fichiers joints
Capture.JPG
Capture.JPG (23.84 Kio) Vu 9936 fois

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Dossier de téléchargement javascript

Message par webmaster » 13 févr. 2020, 13:51

Bonjour,

Le CORS = Cross-origin resource sharing

Le message d'erreur indique que le partage de ressource n'est pas autorisé entre les domaines de google.
C'est une protection contre le chargement externe de données.

Il est sans doute possible d'accéder à des données du Drive, mais il faut dans ce cas utiliser les protocoles proposés par Google.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre