web-dev-qa-db-fra.com

Écriture d'un fichier sur le bureau à l'aide de l'API HTML5 FileSystem

Je joue un peu avec FileSystem API .

J'ai trouvé beaucoup d'exemples où vous générez un lien de téléchargement et laissez l'utilisateur télécharger le fichier de la "manière du navigateur".

Je voudrais savoir deux choses:

  1. Existe-t-il un moyen d'écrire le résultat ajax dans le violon sous forme de fichier directement sur le disque (sans aucun type d'invite). Comme sur le bureau de l'utilisateur par exemple.

  2. Blob est-il le format le plus approprié pour cela?

http://jsfiddle.net/FBGDe/

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
        console.log(this.response, typeof this.response);
        var img = document.getElementById('img');
        var url = window.URL = window.webkitURL;
        img.src = url.createObjectURL(this.response);
    }
}
xhr.open('GET', 'http://www.newyorker.com/online/blogs/photobooth
                                                       /NASAEarth-01.jpg');
xhr.responseType = 'blob';
xhr.send();      
16
Johan

Malheureusement, l'écriture dans des fichiers normaux n'est actuellement pas possible (malgré la réponse acceptée Modification des fichiers locaux à l'aide de HTML5 et JavaScript ).

Vous ne pouvez écrire que sur le système de fichiers en bac à sable.

Pour info, vous pouvez le faire dans une Chrome Packaged App: http://developer.chrome.com/apps/fileSystem.html Mais même alors, l'utilisateur doit au choisissez au moins le fichier en premier. L'écriture dans n'importe quel fichier serait une grave faille de sécurité.

Quel problème essayez-vous vraiment de résoudre?

9
Paul Draper

Veuillez noter que l'API Filesystem ne fait plus partie des spécifications de la norme, comme spécifié dans: http://www.w3.org/TR/file-system-api/

EDIT: citant la spécification au cas où le lien changerait: "File API: Directories and System W3C Working Group Note 24 April 2014

Les travaux sur ce document ont été interrompus et ne doivent pas être référencés ni utilisés comme base de mise en œuvre. "

(Cela ne concerne pas directement la question, mais il est essentiel de savoir de ne pas utiliser l'API FileSystem plus loin.)

Un autre lien: http://www.html5rocks.com/en/tutorials/file/filesystem/

"En avril 2014, il a été annoncé sur public-webapps que la spécification de l'API Filesystem devait être considérée comme morte. Les autres navigateurs ont montré peu d'intérêt à l'implémenter."

13
Aparajith Sairam