#!/usr/bin/perl use strict; use warnings; use CGI; use MIME::Base64; my $arg = new CGI; my $fetch_photo = $arg->param('imagedata'); my ($data, $base64) = split /,/, $fetch_photo; my ($type) = $data =~ m!data:image/(\w+);base64!; my $decoded = MIME::Base64::decode_base64($base64); my $filename = int(rand(1000)) . '.' . $type; open(my $file, '>', "img/$filename") or die 'err'; # 3 argument open binmode $file; print $file $decoded; close($file);