Comment dois-je analyser les données de l'URL dans le Nœud?
J'ai des données de l'URL comme ceci:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
Quelle est la manière la plus simple d'obtenir ce que des données binaires (par exemple, un Buffer
) afin que je puisse écrire dans un fichier?
- Ce n'est pas une URL. C'est un URI. De données URI.
- Vous pouvez discuter avec les MDN: developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/...
- payé nerd à la Recherche jusqu'en le RFC doc, s'est avéré c'est une des données de l'URL. Désolé pour mon désinformation. Mais il suffit de dire, ne vous fiez pas MDN trop.
Vous devez vous connecter pour publier un commentaire.
Mettre les données dans une mémoire Tampon à l'aide de la 'base64' encodage, puis d'écrire cela dans un fichier:
data:whatever/whatever;base64,
partie, (2) mettre en mémoire Tampon à l'aide 'base64', (3) écrire cela dans un fichier. Si le type mime est différent, utiliser une autre extension de fichier/utiliser une regex/etc.var data = string.substr(string.indexOf('base64') + 7)
?data:,
, ce qui est tout à fait valide données > URI?Essayer cette
buffer = Buffer.from(dataUrl.split(",")[1], 'base64')
J'ai aussi rencontré de telles questions (l'analyse et la validation des données d'URL) récemment et a trouvé la solution de contournement suivante: https://gist.github.com/bgrins/6194623
J'ai créé 2 packages pour le travail avec des données d'URL plus facile dans le code. Ici, ils sont:
https://github.com/killmenot/valid-data-url
https://github.com/killmenot/parse-data-url
Découvrez exemples