Je veux générer un fichier CSV à la suite de certaines interactions utilisateur, puis inviter l'utilisateur à le télécharger. Comment puis-je faire ça? P>
Je ne pense pas que ce soit possible en JS droit, mais peut-être que Chrome me donne des privilèges élevés? P>
3 Réponses :
chrome ne fournit aucune aide avec cela, mais je pense que vous devriez pouvoir déclencher une boîte de dialogue Enregistrer des fichiers à l'aide de Téléchargée bibliothèque JS qui utilise un composant flash dans les coulisses. P>
Semble écraser Firefox pour moi quand j'essaie la démo. Chrome ne s'écrase pas si ... Alors, je suppose que je peux vivre avec ça.
Vous pouvez maintenant utiliser HTML5 API de fichier pour télécharger un fichier. Il est toujours en développement, mais vous pouvez utiliser un blobbuilder et rediriger votre utilisation pour télécharger ce fichier: Pour plus d'informations sur l'API de fichier, HTML5Rocks a un excellent tutoriel: P>
Oui, en chrome 10, ils l'ont changé pour être "window.webkiturl.createObjecturl". J'ai édité ma réponse pour refléter cela. Le seul problème avec cette approche (sera résolu bientôt) est que vous ne pouvez pas contrôler le nom de fichier. Essayez-le dans votre inspecteur.
"Non autorisé à charger la ressource locale: Blob: NULL / 6B2C341A-AD40-48B2-9755-1B7134832D39". Je peux copier cela dans ma barre d'adresse et télécharger le fichier, mais pourquoi le chrome ne le permettra pas?
Pour le développement, essayez d'ajouter l'argument de ligne de commande suivant à Chrome: - Autoriser-fichier-accès-gort-fichiers code>
@MoHammed: Ouais, ça marche. Très proche d'être utilisable ... mais je pense avoir besoin d'une boîte de dialogue Enregistrer.
À ce stade, vous ne pouvez pas avoir de boîte de dialogue Sauvegarder en tant que boîte de dialogue. Peut-être que vous pouvez l'imiter et demander à l'utilisateur de vérifier leur répertoire de téléchargement.
Je devais faire exactement le même fichier récemment - générer un fichier et faire appel à son téléchargement en extension de Chrome. Ici, vous êtes un extrait de code qui fait cela, en utilisant ES6 et les méthodes recommandées: Vous devez également déclarer un privilège approprié dans manifeste.json code>: P >
"permissions" : ["downloads"]
J'ai fait cela dans ASP.NET. Quelles technologies utilisez-vous?
@Jon: Les extensions chromées sont écrites dans JS ... Ne pensez pas avoir d'autres options.