日期:2014-05-17  浏览次数:20503 次

[散分]为编辑小MM提供的服务代码。关于图片上传的。
我们在工作中遇到了如下场景:编辑小妹需要发布图文混排的内容,图片有点偏多,一篇内容约有20来张图片,一天要发布200多篇,用编辑器自带的图片上传有点效率不够。
目标:提升上传效率.
方法一. 直接上word 另存为html,再把里面的图片单独上传到指定目录,再把html 代码放到编辑器内,提交后数据适配一下。此方法比较适合word 版内容发布.具体实例,不做详述。

方法二. 用firefox ,编辑器可以支持 截图后粘贴。通常直接用qq截图,提交后 数据为html5 图片,ie下不显示,再折腾折腾转为常规html img 就好了,代码如下。
PHP code

//data 为提交表单数据,数组格式
$data = $_POST["data"];
$data = filter( $data );  //转换data 数据
//  剩下的事件,插入数据库,生成静态贴之类。。。



PHP code

//转换处理
function filter( $data )
{
    if( sizeof($data ))
    {
        foreach ($data   as $key => $val):
            if(preg_match_all("/<img\s+src=\"data:image\/png;base64,([^\"]+)\"/iU" , $val ,$match))
            {
                if(sizeof($match[1]))
                {
                    foreach ($match[1] as $key2 => $val2):
                        list($newFilePath, $newFileName) = create_png_name();
                        file_put_contents($newFilePath , base64_decode($val2) );

                        $val = str_replace("<img src=\"data:image/png;base64,$val2\"" ,"<img src = '$newFileName'" , $val );
                      //  echo $val;
                    endforeach;
                }
                $data[$key] = $val;
            }
         endforeach;
    }
    return $data;
}

function create_png_name()
{
    $fileName = "/upload/attached/".date("Y-m-d")."/".date("ymdhis").rand(1000,9999).".jpg";
    $file = $_SERVER["DOCUMENT_ROOT"] . $fileName ;
    $dir = pathinfo( $file , PATHINFO_DIRNAME );
    if( !is_dir($dir  )) { mkdir( $dir   , 0777 , 1);}
     return array($file , $fileName);
}


PS: 最近公事私事,事事烦心,越来越没精力专注的做开发了,时间仓促,更多的是表达一种使工作便利的想法,还想各位批评指正。

------解决方案--------------------
呵呵
编辑器 eWebEditor 小编直接向里面拖图片就可以了
------解决方案--------------------
标题有吸引力,我就进来了。

另外问一句,什么 公事私事 令您烦心的。 看开点。
------解决方案--------------------
看着散分进来啦,还有一个其实就是排版,编辑器的排版功能太丑了,自己写的话js又不行
------解决方案--------------------
探讨

嗯,有空请唠叨老大整合一下,什么拖图,截图,批量上传,相册选择,word 上传的,整个专注一线小编版编辑器
引用:

呵呵
编辑器 eWebEditor 小编直接向里面拖图片就可以了

------解决方案--------------------
好多年沒有用eweb了,最近主要是使用ckeditor,感覺兼容性和功能定制等方面做得都還不錯
说道图文混编确实是比较麻烦的一件事
------解决方案--------------------
data:image/png;base64
这个不错。收藏了。
------解决方案--------------------
干这行就是累啊。。
------解决方案--------------------
怎么接分啊!我来试试
------解决方案--------------------
如果用word另存为html 应该会有很多冗余代码
作为代码洁癖 这点我接受不了- -
------解决方案--------------------
1.MM漂亮否?
2.楼主搞定否?
3.目前流行的web editor都是word思维.....总有一天会改变...
------解决方案--------------------
我也来接分的.^_^
------解决方案--------------------
百度那个玩意图片你一粘贴,他就给你上传好了...
------解决方案--------------------
初学,研究中。。。。。