Can't upload a file using AJAX?

  • 0
    Good day.
    The path ($ _POST ['placeImage']) is passed from the file field via ajax, but no loading occurs, although if you use this code without ajax and directly insert the path to the image, everything works. I can't figure it out and understand.
    $file = $_POST['placeImage'];
    	$filename = basename($file);
    
    	$upload_file = wp_upload_bits($_POST['placeImage'], null, file_get_contents($file));
    	if (!$upload_file['error']) {
    		$wp_filetype = wp_check_filetype($filename, null );
    		$attachment = array(
    			'post_mime_type' => $wp_filetype['type'],
    			'post_parent' => $parent_post_id,
    			'post_title' => preg_replace('/\.[^.]+$/', '', $filename),
    			'post_content' => '',
    			'post_status' => 'inherit'
    		);
    		$attachment_id = wp_insert_attachment( $attachment, $upload_file['file'], $parent_post_id );
    		if (!is_wp_error($attachment_id)) {
    			require_once(ABSPATH . "wp-admin" . '/includes/image.php');
    			$attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload_file['file'] );
    			wp_update_attachment_metadata( $attachment_id,  $attachment_data );
    		}
    	}
    JavaScript Piper Gallagher, Jul 13, 2020

  • 0 Answers
Your Answer
To place the code, please use CodePen or similar tool. Thanks you!