How do I convert a Base64 image url string to a png/jpg image file?
Adam D. Ruppe
destructionator at gmail.com
Thu Jul 30 12:28:08 UTC 2020
On Thursday, 30 July 2020 at 12:22:46 UTC, aberba wrote:
> I'm able to decode it to a buffer but the trouble is getting it
> from buffer to an actual image file. Any library function
> combination I can use?
I don't think I wrote it as a library yet, but the idea is pretty
simple: they all start with "data:" so you look for that.
Then there's a type after that, so you read the string until the
next ; character. It will be like image/png or image/jpeg.
Then there's the semicolon and the string "base64,".
After that, the rest of the string is base64 data.
```
import std.base64;
ubyte[] data = Base64.decode(rest_of_string);
```
And now that you have the data you can write it to a file:
```
import std.file;
std.file.write("filename.png", data);
```
And that should make the file you want.
More information about the Digitalmars-d-learn
mailing list