在R中将Base64转换为PNG/JPEG文件

5
我看过以下帖子中将png文件转换为base64的过程: 将R图像转换为Base 64 我想要做与你相反的事情。我有一个存储在变量“capimg”中的图像的base64,现在我想将其转换为png或jpeg文件。你能帮我反向工程这个过程吗?
这可行吗?
我已经看到php使用以下方法完成了这个过程,但我需要一个R脚本来完成相同的操作。
<?php
$data = urldecode($_POST['imageData']);
list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);
?>

实际上,我也能够使用base64enc包将base64解码为向量,如下所示:

y <- base64decode(capimg)

但是,我不知道该怎么继续进行。

1个回答

10

这对我有效:

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)

图片由维基百科提供,可从此处访问。


1
谢谢,这也帮助了我。 - Apricot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接