我正在使用croppie裁剪图像并将其上传到我的服务器,问题是当我单独发送裁剪图像时,它运行良好,但是当我想在FormaData中添加其他信息时,一切都停止工作.. .
WORKS 的原始代码是这样的:
$uploadCrop.croppie('result', {type:'canvas', size:'viewport'}).then(function(resp){
$.ajax({
url: "upload.php",
type: "POST",
data: { "image": resp },
success: function (data) { alert("ok"); }
});
});
PHP 文件如下所示:
<?php
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$imageName = time().'.png';
file_put_contents('img/profiles/'.$imageName, $data);
?>
这很完美,图像已正确保存,但是当我将下面的代码与相同的 PHP 文件一起使用时,停止工作...
var cropped_img;
var nameInfo = "Someone";
var mailInfo = "anything@mail.com";
$uploadCrop.croppie('result', {type:'canvas', size:'viewport'}).then(function(resp){cropped_img = resp;});
var parametros = new FormData();
parametros.append('name', nameInfo);
parametros.append('mail', mailInfo);
parametros.append('image', cropped_img);
$.ajax({
url: 'upload.php',
data: parametros,
type: 'post',
cache: false,
contentType: false,
processData: false,
success: function (response) { alert("ok") }
});
第一次尝试,不行,于是我添加了cache、contentType和processData,开始保存文件,但是是一种空文件或损坏文件...
有谁知道我该如何解决这个问题?! 提前致谢。