【问题标题】:php/jquery : Unable to save cropped imagephp/jquery:无法保存裁剪的图像
【发布时间】:2018-10-09 22:06:10
【问题描述】:

所以我正在创建这个页面,允许用户裁剪他的图像,然后将其保存在他的文件中,但是,虽然当我单击裁剪按钮时,它向我显示警告消息“上传成功”,但它没有t 保存在我的文件夹中。所以我猜upload.php 文件有问题,但是,为了它,我将在此处提供这两个文件。请让我知道有什么问题。谢谢! 第一个名为 h.php 的文件

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="cropper.css">
<script src="cropper.js"></script>

<img id="image" style="width: 250px;" src="bg.JPG">
<script>
    $("#image").cropper();

    function crop(){
        $("#image").cropper('getCroppedCanvas').toBlob(function(blob) 
        {
            var formdata= new FormData();

            formdata.append('croppedImage', blob);
            $.ajax('upload.php',
            {
                method: "POST",
                data: formdata, 
                processData: false,
                contentType: false,
                success: function() {
                    alert('upload success');
                },
                error: function() {
                    console.log('upload error');
                }
            }

            )
        }

        );
    }
</script>

<style>
.cropper-crop{
    display:none;
}
.cropper-bg{
    background:none;
}
</style>
<button onclick="crop()">
crop
</button>

第二个文件名为upload.php

<?php
$croppedImage= $_FILES['croppedImage'];
$to_be_upload=$croppedImage['tmp_name'];
$new_file= 'cropped-Image.PNG'
move_uploaded_file($to_be_upload, $new_file);
echo 1;
?>

【问题讨论】:

  • Whats print_r($_FILES) show?
  • @LawrenceCherone 我把这个放在哪里?
  • 这对我有用。检查您保存文件的位置的直接权限。

标签: php jquery crop cropper


【解决方案1】:

我认为 move_uploaded_file 的第一个参数应该是 $_FILES['croppedImage'] 而且,$_FILES 需要一个文件对象,我不确定您发送的数据是否正确。

【讨论】:

  • 尝试将其更改为 $_FILES['croppedImage'] ['tmp_name'] 但没有成功:/
  • 嗯,我认为是数据格式。我建议您将裁剪后的图像转换为 base64,然后通过 ajax 在服务器上完成剩下的工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多