3 votes

Forcer le téléchargement de fichiers pour IE9 sur le stockage de blob Azure

Je tente d'utiliser Azure Blob Storage comme emplacement pour des téléchargements de fichiers sécurisés en utilisant Shared Access Signature. Tout fonctionne très bien, cependant le problème que je rencontre est que j'essaie de permettre à l'utilisateur de sauvegarder des fichiers à partir du navigateur et j'ai tous les navigateurs sauf IE9 qui fonctionnent.

En examinant cette question,

Quel type de contenu forcer le téléchargement d'une réponse texte?

cela fonctionne bien lorsque je peux contrôler tous les en-têtes, cependant dans Azure Blob Storage, j'ai défini le Content-Type sur application/octet-stream et cela permet à tous les navigateurs sauf IE de demander à l'utilisateur de sauvegarder le fichier, IE ouvre simplement le fichier. Il semble que les types de fichiers connus s'ouvrent (par exemple .jpg, .wmv etc...).

Dans Azure, je n'ai trouvé aucun moyen de définir

Content-Disposition: attachment;filename="My Text File.txt"

Y a-t-il un moyen, en utilisant Azure Blob Storage, de permettre à IE de télécharger n'importe quel fichier directement depuis Azure Blob Storage?

Merci d'avance.

2voto

smarx Points 18006

Je ne pense pas qu'il y ait un moyen de définir l'en-tête Content-Disposition dans le stockage blob Windows Azure.

1voto

Nimz Points 23

Vous pouvez maintenant cliquer avec le bouton droit sur la ressource - propriétés.

0voto

Joe Coyle Points 573

Si vous utilisez le paquet @azure/storage-blob pour télécharger des blobs avec SAS, vous pouvez forcer le fichier à être téléchargé en définissant la disposition de contenu comme indiqué ci-dessous.

Dans l'exemple suivant, un fichier d'image *.png est téléchargé lorsqu'il est lié plutôt que l'ouverture par défaut du navigateur dans un nouvel onglet :

blockBlobClient.upload(file.content, file.size, {
    blobHTTPHeaders: {
        blobContentType: "image/png",
        blobContentDisposition: "attachment"
    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X