sath26's avatar

Unable to read image from file (C:\xampp\tmp\php6C5C.tmp).

i am using dropzone with image intervention. Now i am trying to upload pdf with some changes but i cant. currently i get Unable to read image from file (C:\xampp\tmp\php95F7.tmp). error when i do try to upload. this is the controller where i have used the logic

    {

        $validator = Validator::make($form_data, Image::$rules, Image::$messages);
        
        if ($validator->fails()) {

            return Response::json([
                'error' => true,
                'message' => $validator->messages()->first(),
                'code' => 400
            ], 400);

        }

        $photo = $form_data['file'];

        $originalName = $photo->getClientOriginalName();
        $extension = $photo->getClientOriginalExtension();

        $originalNameWithoutExt = substr($originalName, 0, strlen($originalName) - strlen($extension) - 1);

        $filename = $this->sanitize($originalNameWithoutExt);
        $allowed_filename = $this->createUniqueFilename( $filename, $extension );
        if($extension == 'pdf'){
            $allowed_filename = $this->createUniqueOtherFilename( $filename, $extension );
            $uploadSuccess1 = $this->other_file( $photo, $allowed_filename );

            if( !$uploadSuccess1 ) {

                return Response::json([
                    'error' => true,
                    'message' => 'Server error while uploading',
                    'code' => 500,
                    'extension'=>$extension
                ], 500);

            }
            $sessionImage = new Image;
            $sessionImage->filename      = $allowed_filename;
            $sessionImage->original_name = $originalName;
            $sessionImage->save();

            return Response::json([
                'error' => false,
                'code'  => 200,
                'filename' => $allowed_filename,
                
                'ext'=> $extension,
            ], 200);
        } 
        else{
            $uploadSuccess1 = $this->original( $photo, $allowed_filename );
            $uploadSuccess2 = $this->icon( $photo, $allowed_filename );
            
            if( !$uploadSuccess1 || !$uploadSuccess2 ) {

                return Response::json([
                    'error' => true,
                    'message' => 'Server error while uploading',
                    'code' => 500,
                    'extension'=>$extension
                ], 500);

            }

            $sessionImage = new Image;
            $sessionImage->filename      = $allowed_filename;
            $sessionImage->original_name = $originalName;
            $sessionImage->save();

            return Response::json([
                'error' => false,
                'code'  => 200,
                'filename' => $allowed_filename,
                
                'ext'=> $extension,
            ], 200);
        }
    }
    public function createUniqueOtherFilename( $filename, $extension )
    {
        $full_size_dir = Config::get('images.other_file');
        $full_image_path = $full_size_dir . $filename . '.' . $extension;

        if ( File::exists( $full_image_path ) )
        {
            // Generate token for image
            $imageToken = substr(sha1(mt_rand()), 0, 5);
            return $filename . '-' . $imageToken . '.' . $extension;
        }

        return $filename . '.' . $extension;
    }
    public function createUniqueFilename( $filename, $extension )
    {
        $full_size_dir = Config::get('images.full_size');
        $full_image_path = $full_size_dir . $filename . '.' . $extension;

        if ( File::exists( $full_image_path ) )
        {
            // Generate token for image
            $imageToken = substr(sha1(mt_rand()), 0, 5);
            return $filename . '-' . $imageToken . '.' . $extension;
        }

        return $filename . '.' . $extension;
    }
     /**
     * Optimize Original Image
     */
    public function other_file( $file, $filename )
    {
        $manager = new ImageManager();
        $image = $manager->make( $file )->save(Config::get('images.other_file') . $filename );

        return $image;
    }```
0 likes
2 replies
sath26's avatar

it works fine for image only not for pdf. why? @jlrdw

1 like

Please or to participate in this conversation.