0

Using simpleCropper.js to crop the image and using ajax upload the image in PHP in simpleCropper the image file is converted to base64. But try to upload the large image file, it shows errors like Image corrupt or truncated. URI in this note truncated due to length.

In ajax response it shows error like Request Entity Too Large

The small cropped image is not uploaded properly and it is stored in a 10-byte size.

in the ajax upload file it returns the null value.

if (file.type.match(imageType)) {
                var reader = new FileReader();
                image_filename = file.name;                    
                reader.onload = function (e) {
                var base64data = reader.result;
                    $.ajax({
                        url: "upload.php",
                        method: "POST",
                        data: {imagefile: base64data},
                        dataType:"text",
                        success: function(data){
                            console.log(data);                          
                        }
                    });
                 
Upload.php 

if(isset($_POST["imagefile"]))
{
    $data = $_POST["imagefile"];
    
    $image_array_1 = explode(";", $data);

    $image_array_2 = explode(",", $image_array_1[1]);

    $data = base64_decode($image_array_2[1]); 
    
    $filename = time() . '.png';
    if(stripos($data, 'image/png') !== false) {
        $filename = time() . '.png';
    } elseif(stripos($data, 'image/jpg') !== false || stripos($data, 'image/jpeg') !== false) {
        $filename = time() . '.jpg';
    }
    
    $imageName = 'assets/uploads/' . $filename;

    file_put_contents($imageName, $data);

    echo $filename;

}

1 Answer 1

1

The Request Entity Too Large is a server limitation.

You did not specify the server used, so using Nginx as an example:

Syntax:  client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location

Sets the maximum allowed size of the client request body. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.