jquery - Croppie JS 使用 jquery 分离裁剪功能和上传功能
问题描述
我已经得到了这个工作代码,但是我想调整一些我想将裁剪和上传分开的东西,但是当我点击裁剪按钮然后用它发送我的上传时,我不知道如何获得裁剪的图像结果单击上传按钮时的.php。
我已经尝试搜索与我相同的问题,所以我不需要在这里发布问题并打扰任何人但仍然没有运气我也阅读了文档但我仍然不知道该怎么做。请帮助我卡在这里..谢谢
** 这是我的 JSfiddle **
https://jsfiddle.net/eds_gavino/n34ybcwm/11/
** 这是我的上传.php**
//upload.php
if(isset($_POST["image"]))
{
$data = $_POST["image"];
$image_array_1 = explode(";", $data);
$image_array_2 = explode(",", $image_array_1[1]);
$data = base64_decode($image_array_2[1]);
$imageName = time() . '.png';
file_put_contents($imageName, $data);
echo '<img src="'.$imageName.'" class="img-thumbnail" />';
}
?>
解决方案
尝试这个 :
$data = filter_input(INPUT_POST, 'image', FILTER_SANITIZE_STRING);
if($data) {
$splited = explode(',', substr( $data , 5 ) , 2);
$mime=$splited[0];
$data=$splited[1];
$mime_split_without_base64 = explode(';', $mime,2);
$mime_split = explode('/', $mime_split_without_base64[0],2);
if(count($mime_split) == 2)
{
$extension = $mime_split[1];
// change png to jpg if required
$extension = 'jpg';
$new_file_name = 'avatar.'.$extension; // create new file avatar.jpg
$directory = $_SERVER['DOCUMENT_ROOT'].'/upload/'; // directory upload in root document
file_put_contents( $directory.$new_file_name, base64_decode($data) );
}
}
推荐阅读
- unit-testing - 如何断言与stretchr/testify/mock AssertCalled 的部分匹配?
- android - Android:测试室迁移
- arrays - 将数组数据转换为 bmp
- sql-server-2008 - 由于未连接套接字且未提供地址,因此不允许发送或接收数据的请求 - SSIS 2008
- php - 发送电子邮件的 Web 表单不发送到 gmail
- python - Pyusb 无法识别 USB 设备(python 3.9.6 和 windows)
- discord.js - Discord.JS 录音大 pcm 文件
- jetbrains-ide - 是否可以拆分窗口而不在中间显示选项卡?
- timer - AM572x 定时器在调试器暂停期间继续计数
- laravel - PhpStorm 中的代码提示