Generate POST request for storing images in WordPress

admin

Administrator
Staff member
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
Code:
wp_handle_upload
function does not accept image via url.

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);
}