I am working with WordPress to save images to its media library. Images are sent in base64 form so I want to know how we can make POST data requests for that base64 image after decoding it, as WordPress's
function does not accept image via url.
Here is my code
Code:
wp_handle_upload
Here is my code
Code:
$image = $_REQUEST['image']; // requested image
include('../wp-load.php'); // Load wordpress engine
include_once('config.php');
$data = base64_decode($image); // decode image
$filename = "IMG_".time().".png"; // filename
//$fileurl = "../wp-content/uploads".$directory.$filename;
//file_put_contents($fileurl, $data);
// wordpress wp_handle_upload not accept image via url
if ( ! function_exists( 'wp_handle_upload' ) ) require_once( ABSPATH . 'wp-admin/includes/file.php' );
$uploadedfile = $data;
$upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
if ( $movefile ) {
// echo "file loaded";
}
if ( $movefile ) {
$wp_filetype = $movefile['type'];
$filename = $movefile['file'];
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $wp_filetype,
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename);
}