Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Base64 to PNG/JPEG file in R

I have seen the process to convert a png file to base64 work in the post below Convert R image to Base 64

I would like to do the exact opposite of what you did. I have a base64 of a image stored in a variable "capimg" and now I want to convert it into a png or jpeg file. Can you help me reverse engineer the process.

Is this doable?

I have seen this done using php like below but I need a R script to do the same

<?php
$data = urldecode($_POST['imageData']);
list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);
?>

In fact I am also able to decode the base64 into a vector using the base64enc package like below y <- base64decode(capimg)

But I do not know how to proceed any further

like image 918
Sushanta Deb Avatar asked Apr 19 '16 03:04

Sushanta Deb


1 Answers

this works for me:

library(base64enc)

enc <- base64encode("images.jpg")
conn <- file("w.bin","wb")
writeBin(enc, conn)
close(conn)

inconn <- file("w.bin","rb")
outconn <- file("img2.jpg","wb")
base64decode(what=inconn, output=outconn)
close(inconn)
close(outconn)

images.jpg courtesy of Wikipedia accessed from here

like image 78
chinsoon12 Avatar answered Oct 05 '22 11:10

chinsoon12