400-800-9385
网站建设资讯详细

网站编辑器将word文档中的图片和文字导入后台

发表日期:2022-08-20 10:08:10   作者来源:刘红旺   浏览:424   标签:网站编辑器    
首先我们找一款可以将word图片导入后台编辑器,一般编辑器会将图片转换成base64 编码,我们后台再将base64编码转换成图片文件,这里找到一个比较好的编辑器tinymce
下载地址:https://github.com/Five-great/tinymce-plugins
 

网站编辑器

编辑器

 

 

 
导入word查看源码导入后图片是base64的,我需要将他转换成图片

编辑器代码

 
在文件包tinymce/config.js  
images_upload_base_path
这个链接就是接受base64地址可以在这里直接转换再返回文件地址
/**base64转图片 */
    public function base64() {
        $return = array('code' => 1, 'info' => '上传失败', 'data' => '');
        $file=I('post.file');
        //dump($file);
        if(preg_match('/^(data:\s*image\/(\w+);base64,)/',$file,$result)){
            //dump($result);
         
            $imageName = date("His",time())."_".rand(1111,9999).'.png';
            $path = "/Uploads/Temp/".date("Ymd",time());
            $dir= ? '../'. :'.'.;  
            if (!is_dir($dir.$path)){ //判断目录是否存在 不存在就创建
                mkdir($dir.$path,0777,true);
             
             }
            $imageSrc=  $path."/". $imageName;
            //dump($dir.$imageSrc);exit;
            if (file_put_contents($dir.$imageSrc, base64_decode(str_replace($result[1], '', $file)))){
                //dump( $imageSrc);
            $file= new \Fwadmin\Service\AwsFile();  
            $fileUrl=$file->uploadFile($imageName ,$dir.$imageSrc,substr($path,1));//将图片上传到亚马逊存储服务器
         
            $return['code'] = 200;
            $return['data'] = $fileUrl;
            if($fileUrl){
                $del=delfile($imageSrc); //删除本地图片
               
            }  
            }
        }
     
        //返回JSON数据
        exit(json_encode($return));
    }

2.编辑器的文件上传
 
 编辑器
file_picker_callback   //自定义文件上传函数
文件通过ajax 上传都后台
 public function tinymceupload() {
        $return = array('code' => 1, 'info' => '上传成功', 'data' => '');
        //$file=$_FILES["file"];
        //dump($file);exit;
        //上传配置
        $setting = array(
            'mimes' => '', //允许上传的文件MiMe类型
            'maxSize' => 0, //上传的文件大小限制 (0-不做限制)
            'exts' => 'jpg,gif,png,jpeg,zip,rar,pdf,word,xls,txt', //允许上传的文件后缀
            'autoSub' => true, //自动子目录保存文件
            'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
            'rootPath' => '.', //保存根路径这里必须为点
            'savePath' => '/Uploads/detail/', //保存路径
            'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
            'saveExt' => '', //文件保存后缀,空则使用原后缀
            'replace' => false, //存在同名是否覆盖
            'hash' => true, //是否生成hash编码
            'callback' => false, //检测文件是否存在回调函数,如果存在返回文件信息数组
        );
     
        //上传文件
        $Model = D('Upload', 'Service');
        foreach ($setting as $k => $v) {
            $Model->setconfig($k, $v);
        }
        $info = $Model->upload('all');
        //dump($info);
        if ($info) {
           
            $file= new \Fwadmin\Service\AwsFile();  
            $dir= ? '../'. :'.'.;
           
            $url=$file->uploadFile($info['file']['savename'],$dir.$info['file']['savepath'] .$info['file']['savename'],substr($info['file']['savepath'],1));
            $info['fullpath'] =$url;
 
           // $info['fullpath'] =$dir.$info['file']['savepath'] .$info['file']['savename'];
        }
     
        session('upload_error', $Model->getError());
        //返回数据
        if ($info) {
            $return['code'] = 200;
            $return['data'] = $info['fullpath'];
           
        } else {
            $return['code'] = 1;
            $return['info']='上传失败';
            $return['message'] = session('upload_error');
        }
        //返回JSON数据
        exit(json_encode($return));
    }
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/6513.html