downloads.download()
La fonction download() de l'API downloads télécharge le fichier, compte tenu de son URL et d'autres préférences optionnelles.
- Si l'
urlspécifiée utilise le protocole HTTP ou HTTPS, la requête inclura tous les cookies actuellement définis pour son nom d'hôte. - Si à la fois le
nom de fichieretsaveAssont spécifiés, la boîte de dialogue Enregistrer sous s'affiche, pré-remplie avec lenom du fichierspécifié.
C'est une fonction asynchrone qui renvoie une Promise.
Syntaxe
var downloading = browser.downloads.download(
options, // object
);
Paramètres
options-
Un
objectspécifiant le fichier que vous souhaitez télécharger et toutes les autres préférences que vous souhaitez définir concernant le téléchargement. Il peut contenir les propriétés suivantes :allowHttpErrorsFacultatif-
Un tag
booléenqui permet de poursuivre les téléchargements même s'ils rencontrent des erreurs HTTP. L'utilisation de ce drapeau, par exemple, permet le téléchargement des pages d'erreur du serveur. La valeur par défaut estfalse. Lorsqu'il est défini à :false, le téléchargement est annulé lorsqu'il rencontre une erreur HTTP.true, le téléchargement se poursuit lorsqu'une erreur HTTP est rencontrée et que l'erreur du serveur HTTP n'est pas signalée. Toutefois, si le téléchargement échoue en raison d'une erreur liée au fichier, au réseau, à l'utilisateur ou autre, cette erreur est signalée.
bodyFacultatif-
Un
stringreprésentant le corps du message de la requête. conflictActionFacultatif-
Une chaîne représentant l'action que vous voulez effectuer s'il y a un conflit de nom de fichier, tel que défini dans le
downloads.FilenameConflictActiontype (par défaut "uniquify" quand il n'est pas spécifié). filenameFacultatif-
Un
stringeprésentant un chemin d'accès au fichier par rapport au répertoire de téléchargement par défaut, qui indique l'emplacement où vous souhaitez enregistrer le fichier et le nom de fichier que vous souhaitez utiliser. Les chemins absolus, les chemins vides et les chemins contenant des références arrières (../) provoqueront une erreur. Si elle est omise, cette valeur sera par défaut le nom de fichier déjà donné au fichier de téléchargement, et un emplacement immédiatement dans le répertoire de téléchargement. headersFacultatif-
Si l'URL utilise les protocoles HTTP ou HTTPS, un
arrayd'objectsreprésentant des en-têtes HTTP supplémentaires à envoyer avec la requête. Chaque en-tête est représenté sous la forme d'un objet dictionnaire contenant lenamedes clés et soit lavalue, soit la valeurbinaryValue. Les en-têtes interdits parXMLHttpRequestetfetchne peuvent pas être spécifiés, cependant, Firefox 70 et les versions ultérieures permettent d'utiliser l'en-têteReferer. Tenter d'utiliser un en-tête interdit provoque une erreur. incognitoFacultatif-
Un
boolean: s'il est présent et défini sur true, associez ce téléchargement à une session de navigation privée. Cela signifie qu'il n'apparaîtra dans le gestionnaire de téléchargement que pour les fenêtres privées actuellement ouvertes. methodFacultatif-
Un
stringreprésentant la méthode HTTP à utiliser si l'urlutilise le protocole HTTP[S]. Cela peut être "GET" ou "POST". saveAsFacultatif-
Un
booleanqui spécifie s'il faut fournir une boîte de dialogue de sélection de fichier pour permettre à l'utilisateur de sélectionner un nom de fichier (true), ou non (false).Si cette option est omise, le navigateur affichera le sélecteur de fichier ou non en fonction de la préférence générale de l'utilisateur pour ce comportement (dans Firefox cette préférence est intitulée "Toujours vous demander où enregistrer les fichiers" dans about:preferences, ou
browser.download.useDownloadDirdans about:config).Note : Firefox pour Android provoque une erreur si
saveAsest àtrue. Le paramètre est ignoré lorsquesaveAsestfalseou non inclus. url-
Un
stringreprésentant l'URL à télécharger.
Valeur retournée
Une Promise. Si le téléchargement a démarré avec succès, la promesse sera remplie avec l'id de la nouvelle downloads.DownloadItem. Sinon, la promesse sera rejetée avec un message d'erreur venant de downloads.InterruptReason.
Si vous utilisez URL.createObjectURL() pour télécharger des données créées en JavaScript et que vous voulez révoquer l'URL de l'objet (avec revokeObjectURL) plus tard (comme il est fortement recommandé), vous devez le faire après le téléchargement. Pour ce faire, écoutez l'événement downloads.onChanged.
Compatibilité des navigateurs
Chargement…
Examples
Le fragment suivant tente de télécharger un exemple de fichier, en spécifiant également un nom de fichier et un emplacement pour l'enregistrer, ainsi que l'option uniquify conflictAction.
function onStartedDownload(id) {
console.log(`Started downloading: ${id}`);
}
function onFailed(error) {
console.log(`Download failed: ${error}`);
}
var downloadUrl = "https://example.org/image.png";
var downloading = browser.downloads.download({
url: downloadUrl,
filename: "my-image-again.png",
conflictAction: "uniquify",
});
downloading.then(onStartedDownload, onFailed);
Note :
Cette API est basée sur l'API Chromium chrome.downloads.