Comment puis-je modifier un nom de fichier sur le téléchargement avec javascript?
Le script ajoute un lien de téléchargement pour les vidéos (sur un site spécifique). Comment puis-je changer le nom du fichier à autre chose pendant le téléchargement?
Example URL:
"http://website.com/video.mp4"
Example of what I want the filename to be saved as during download:
"The_title_renamed_with_javascript.mp4"
Parce que changer un nom de fichier n'est pas possible en JavaSCript, cette question est une copie exacte de: stackoverflow.com/questions/168173/...
W, cette question n'est pas du tout une copie de Q 168173. C'est à propos d'une application web, ce Q est sur un script côté client. L'OP n'a aucun contrôle sur la page cible ou d'un serveur.
Adams Ce que l'OP demande n'est pas possible à côté du client. Par conséquent, la question se déplace à "Comment faire pour modifier le nom de fichier du fichier spécifique", qui a déjà été posée plusieurs fois par d'autres utilisateurs.
W, qui n'a pas de sens. De toute façon, cette possible côté client, pas seulement en utilisant uniquement Greasemonkey JS.
Im assez sûr que c'est possible. Ce script ne fait que ça, j'ai juste ne peux pas comprendre comment: http://userscripts.org/scripts/show/62634
W, cette question n'est pas du tout une copie de Q 168173. C'est à propos d'une application web, ce Q est sur un script côté client. L'OP n'a aucun contrôle sur la page cible ou d'un serveur.
Adams Ce que l'OP demande n'est pas possible à côté du client. Par conséquent, la question se déplace à "Comment faire pour modifier le nom de fichier du fichier spécifique", qui a déjà été posée plusieurs fois par d'autres utilisateurs.
W, qui n'a pas de sens. De toute façon, cette possible côté client, pas seulement en utilisant uniquement Greasemonkey JS.
Im assez sûr que c'est possible. Ce script ne fait que ça, j'ai juste ne peux pas comprendre comment: http://userscripts.org/scripts/show/62634
OriginalL'auteur supercoolville | 2011-09-23
Vous devez vous connecter pour publier un commentaire.
Cela est possible avec JavaScript, bien que prise en charge du navigateur serait inégale. Vous pouvez utiliser XHR2 pour télécharger le fichier à partir du serveur vers le navigateur comme un Blob, de créer une URL de la Goutte, de créer un point d'ancrage avec ses href propriété définie à cette URL, définissez la propriété de téléchargement pour tout ce que vous voulez le nom de fichier, puis cliquez sur le lien. Cela fonctionne dans Google Chrome, mais je n'ai pas vérifié dans d'autres navigateurs.
Il y a un correctif dans les œuvres pour Firefox. Attendez T1 cette année.
OriginalL'auteur Micah Henning
Vous ne pouvez pas le faire avec JavaScript côté client, vous devez définir l'en-tête de réponse...
.NET
Ou PHP
Également disponible dans d'autres langages côté serveur de votre choix.
OriginalL'auteur Fenton
Le nom de fichier de téléchargement est définie dans l'en-tête (regardez le "Content-Disposition"), qui est créé sur le serveur-côté.
Il n'y a pas moyen de changer cela avec javascript sur un fichier que vous créez un lien vers sauf si vous avez accès au serveur-côté (cette façon, vous pouvez passer un paramètre supplémentaire donnant le nom de fichier et changer le serveur-côté comportement pour définir l'en-tête correspondant... mais qui serait aussi possible avec html pur, pas besoin de javascript). Conclusion: Javascript est absolue inutile d'obtenir ce que vous voulez.
OriginalL'auteur oezi
Vous pouvez probablement faire cela avec un Chrome script, mais il ne peut pas être fait (encore) avec Greasemonkey (Firefox) javascript.
Méthodes de contournement (plus simple au plus compliqué):
D'ajouter les liens avec Greasemonkey mais d'utiliser l'excellent DownThemAll! add-on pour télécharger et renommer les vidéos.
Télécharger les vidéos en tant que-est et à l'utilisation d'un fichier batch, shell-script, programme en Python, etc. pour les renommer.
Utiliser Greasemonkey est
GM_xmlhttpRequest()
Doc fonction pour envoyer les fichiers vers votre propre application web sur un serveur que vous contrôlez.Ce serveur peut être votre propre PC exécutant XAMPP (ou similaire).
Écrire vos propres add-on Firefox, au lieu d'un script Greasemonkey. Add-ons ont des privilèges requis, Greasemonkey ne pas.
Ce script est à l'aide de quelque chose de proche de la méthode 3; l'aide d'une fonctionnalité de Youtube fournit délibérément dans son serveur. Notez que les liens de téléchargement sont tous comme:
<a href="... youtube.com/videoplayback?sparams= ...title=Fancy Rename"...>Low Definition MP4...</a>
. Que titre paramètre indique au serveur que le nom de fichier pour l'envoyer en arrière, lorsque le lien est cliqué. La plupart des sites ne sont pas si beau que d'offrir ce service.Oh ok. Merci pour votre aide.
OriginalL'auteur Brock Adams
Autant que je sache, vous ne serez pas en mesure de faire de ce droit par le client lui-même. Vous pouvez tout d'abord télécharger le fichier sur le serveur avec le nom de votre choix, et ensuite de le servir en arrière jusqu'à l'utilisateur final (dans ce cas, votre nom de fichier serait utilisé).
OriginalL'auteur Saket
Juste au cas où vous êtes à la recherche d'une telle solution pour votre méchant téléchargement de google chrome extension, vous devriez regarder dans chrome.téléchargements de l'API, il a besoin d'autorisation supplémentaire ("téléchargements") et vous permet de spécifier un nom de fichier. https://developer.chrome.com/extensions/downloads
Il y a cependant un problème, je suis confrontée à l'heure actuelle. L'extension chrome je suis refactoring a 600k+ base de l'utilisateur et l'ajout d'une nouvelle autorisation serait de désactiver l'extension pour l'ensemble d'entre eux. Donc c'est pas la solution pour moi, mais si vous êtes l'élaboration d'une nouvelle extension, vous devriez certainement utiliser.
OriginalL'auteur Boris Mossounov