and*_*der 4 php jquery blob magento
使用名为cropper的jQuery插件,我能够将裁剪后的图像检索为blob对象.现在我需要将这个blob对象保存为我服务器上的文件.代码是:
$('#image').cropper('getCroppedCanvas').toBlob(function (blob) {
var formData = new FormData();
formData.append('croppedImage', blob);
formData.append('form_key', window.FORM_KEY);
$.ajax('/upload.php', {
method: "POST",
data: formData,
processData: false,
contentType: false,
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的upload.php:
<?php
$blob = $_POST['croppedImage'];
//return $blob;
file_put_contents('/media/crop_products/test.png', $blob);
?>
Run Code Online (Sandbox Code Playgroud)
它不是保存在服务器上.我在这里做什么?此请求来自magento的管理页面.
由于您要发送数据contentType:false,因此可以访问$_FILES,而不是$_POST.
评论交流证实了这一点.
你的$_FILES阵列是(根据评论):
[_FILES] => Array (
[file] => Array (
[name] => blob
[type] => image/png
[tmp_name] => /tmp/phpC9g8rU
[error] => 0
[size] => 1062301
)
)
Run Code Online (Sandbox Code Playgroud)
要上传它:
move_uploaded_file(
$_FILES['file']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'] . "/media/crop_products/test.png"
);
Run Code Online (Sandbox Code Playgroud)
注意:move_uploaded_file需要一个完整路径作为第二个参数(目标位置),并且该文件夹应该是可写的.
| 归档时间: |
|
| 查看次数: |
8565 次 |
| 最近记录: |