图片通过ajax传到后台再传到word中,再生成word,但是显示的是经过base_64编码的内容,怎么办呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片通过ajax传到后台再传到word中,再生成word,但是显示的是经过base_64编码的内容,怎么办呢?相关的知识,希望对你有一定的参考价值。
图片通过ajax传到后台再存到生成的word中,,但word里显示的是经过base_64编码的内容,怎么办呢?
谢谢!
这个比较好解决,我觉得这种问题phpWord肯定可以完成
<?phpdate_default_timezone_set("Asia/Shanghai");
require_once "PHPWord-develop/bootstrap.php";
//读取文件
$file = __DIR__ . "/demo.docx";
$word = \\PhpOffice\\PhpWord\\IOFactory::load($file);
//增加图片
//$image = __DIR__ . "/demo.jpg"; //这里可以选用本地的图片
$base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAHKgAwAEAAAAAQAAAHIAAAAA/9sAQwAfFRcbFxMfGxkbIyEfJS9OMi8rKy9fREg4TnBjdnRuY21rfIyyl3yEqYZrbZvTnam4vsjKyHiV2+rZwumyxMjA/9sAQwEhIyMvKS9bMjJbwIBtgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA/8AAEQgAcgByAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A6GiiigAooqF5scL+dAEpIHU4phmQepquSWOSc0UwJvPH939aPP8A9n9ahooAsCZT1yKeCG6HNVKASDkHFAFyioEm7N+dTAgjIpALRRRQAUUUUAFFFQzv/CPxoAbLJuOB0/nUdFFMAoopyIXPH50ANoqTES9SWPtR+6b1WgCOinPGU56j1ptABTo5Ch9vSm0UAWwQRkdKWq8L4O09DVikAUUUUAIx2qT6VUJycmp5zhQPWoKYBRRRQAdalkOxQi/jUaffX606b/WGgBlFFFAEkTZ+RuhpjDaxHpQn31+tOm/1hoAZRRRQAVajbcgPeqtS255I/GgCeiiikBBcfeA9qiqS4++PpUdMAooooAKlceYoZeo6ioqkjRh82do96AI6KmZoieRk+1N3xr91Mn3oAI12je3QdKjJyST3pXcueaSgAooooAKfD/rBTKfD/rBQBZooopAQ3A6GoasyruQiq1MAoopVG5gPWgB6KFXe34CmO5c5NOmPzbR0FMoAKKKKACpNoePKjkdRUdOiba49+KAG0U6RdrkU2gAqSAfOT6Co6sQLhM+tAElFFFIAqtKm1vY1ZprqHXBoAq06MhXBPSkZSpwaSmArHLE+ppKKKACiiigAooooAfKwZsj0plFABJwOtADkXe2KtdKZGmxffvT6QBRRRQAUUUUANdA4waruhQ89PWrVFAFOip2hU9OKYYXHTBpgR0U7Y/8AdNJsb+6fyoASiniFz2xUiwAfeOaAIVUscAVYjjCD1PrTgABgDFLSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==";
$image = imagecreatefromstring($base64);
$section = $word->addSection();
$section->addImage($image);
//生成文件
$name = "HelloWorld.docx";
$wordWriter = \\PhpOffice\\PhpWord\\IOFactory::createWriter($word, "Word2007");
$wordWriter->save($name); 参考技术A 那就base64_decode一下在保存二进制
framemaker如何在后台action中把list集合传到模板中去???
参考技术A1. 在action中先把list放到map中, 然后返回给生成文件的那个类
2. 通过Configuration这个类装载模版,然后是输出流Writer, 通过Template这个类将map和输出流一起输出成文件。
注意:map中的key就不用我说了吧,跟模版中的标签用同一个名字。
我把我项目中的代码贴出来了 黑色框里的就可以实现把list传到模版中 你可以根据你自己的实际情况修改 ~~ 望采纳!!
参考技术B 放到request,session中,或者放到freemaker的变量Map中,PS:
顺便看个网站:51赚购网,好处:
1、通过网站跳转到淘宝、拍拍、等其他商家买东西,会有现金返利
2、邀请朋友,当朋友产生返利的时候,网站会奖励你可观现金,8层结构,朋友的邀请的朋友返利,也给你奖励,数8层
3、11月20号起每天上线轻松得积分,积分可以直接换现金或换优惠券
4、11月20号启动平板电脑无限送活动,不限台数,100%拿
百度搜索51赚购网,输入邀请码:q61qaG 可以送现金
以上是关于图片通过ajax传到后台再传到word中,再生成word,但是显示的是经过base_64编码的内容,怎么办呢?的主要内容,如果未能解决你的问题,请参考以下文章
framemaker如何在后台action中把list集合传到模板中去???
如何能将json字符串和一些其他参数通过一个ajax传到后台?