const reader = response.body.getReader();
reader.read()
.then(({ done, value }) => {
var link = document.createElement("a");
value = window.btoa(value) //<-tried with and without
link.download = "test.pdf";
link.href = 'data:application/pdf;base64,'+value
link.click();
// console.log(window.atob(value))
})
Ceci enregistre juste un fichier pdf qui n'a rien dedans/est illisible.Enregistrer le flux de données reçu comme unit8array en tant que pdf vers le système de fichiers sur le frontal
valeur dans le rappel est unicode pour un fichier pdf lu dans un fichier de données donc c'est juste un tas de nombres dans un unit8array. J'ai essayé de le convertir en base64 et de le télécharger via un uri de données mais je n'ai pas eu de chance.
C'est dans une application électronique BTW
modifier:
Quand je reçois les données du back-end, la demande, il montre que unicode, mais la réponse me donne comme un flux lisible. Je suis sûr à 100% que je serais capable d'analyser l'Unicode et d'en enregistrer un fichier PDF mais je ne sais pas comment obtenir le formulaire Unicode à partir du flux lisible donné.
merci pour l'aide, Malheureusement, cela n'a pas fait de différence, je reçois toujours un fichier vide lorsque j'essaie d'ouvrir le pdf. Ce qui est bizarre, c'est que l'erreur est "Le type de fichier texte brut (texte/plain) n'est pas supporté", quand je le spécifie comme application/pdf dans les données uri –
Pouvez-vous me montrer l'URI de données complète? Avez-vous essayé d'ajouter manuellement ".pdf" au nom du fichier téléchargé? Cela semble stupide, mais ça vaut le coup –
Im en fait pas sûr à 100% que je peux en raison de possibles (très codés) des informations sensibles; mais je peux dire que le décodage de la base64 me donne le flux de données d'origine (par exemple: 34,12,23,4,65,43 etc) Mais je pense que je voudrais obtenir l'unicode ne le ferais pas? C'est la première fois que je fais face à ce genre de chose, alors je suis désolé si je suis induit en erreur quelque part. De plus, ajouter .pdf n'a rien changé car il était déjà là à cause de link.download = "test.pdf" –