capricorncd / zx-editor

The HTML document (rich text) editor in Smart phone browser or webview, supporting mixed layout, reference, headline, unordered list, font color, bold and italics. 移动端HTML文档(富文本)编辑器,支持图文混排、引用、大标题、无序列表,字体颜色、加粗、斜体
https://capricorncd.github.io/zx-editor/demo
331 stars 100 forks source link

解决图片file格式上传服务器 #17

Open xiesantao opened 5 years ago

xiesantao commented 5 years ago

我也是要上传到服务器再返回来img的文件路径 我的思路是:点击发送的时候获取编辑器里面全部的base64位图片再转为file文件 直接贴源码吧,我这边要上传获取到的img信息的数组所以每次点击发送都会清空newList,希望对大家有帮助 zxEditor.on('finishButton', function () { var newList=[]; for (var i = 0; i < that.data.imgList.length; i++) { var li = that.data.imgList[i]; $(".child-node-is-img img").each(function (index, ele) { if (ele.id == li.file_name.substr(0, li.file_name.length - 4)) { newList.push(that.data.imgList[i]); } }) } var list = zxEditor.getBase64Images(); function dataURLtoFile(dataurl, filename) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], filename, { type: mime }); } for (var i = 0; i < list.length; i++) { var item = list[i]; upimgData(1, dataURLtoFile(item.base64, item.id + ".jpg"), function (res) { var id = res.data.file_name.substr(0, res.data.file_name.length - 4); $(".zxeditor-content-wrapper").find("#" + id).attr("src", res.data.url); // 判断图片之前是否存在 // 不存在则追加 newList.push(res.data); }) } that.data.imgList = newList; // 获取编辑器里面的内容 that.data.textContent = zxEditor.getContent(); console.log(that.data.imgList); console.log(that.data.textContent); })

capricorncd commented 5 years ago

图片先上传再添加至编辑器内demo请见: https://github.com/capricorncd/zx-editor/tree/master/demo

./demo/upload.html
./demo/php/index.php
renconggit commented 5 years ago

你好 是否支持上传手机内的视频

karsynzz commented 5 years ago

图片先上传再添加至编辑器内demo请见: https://github.com/capricorncd/zx-editor/tree/master/demo

./demo/upload.html
./demo/php/index.php

您好,图片先上传再添加至编辑器内这样写之后,出现一个问题就是:在添加图片时,图片是能成功上传至后台,但是控制台报错:The given range isn't in document,并且图片没有添加至编辑器内。请问下这是什么原因?

xiesantao commented 5 years ago

图片先上传再添加至编辑器内demo请见: https://github.com/capricorncd/zx-editor/tree/master/demo

./demo/upload.html
./demo/php/index.php

您好,图片先上传再添加至编辑器内这样写之后,出现一个问题就是:在添加图片时,图片是能成功上传至后台,但是控制台报错:The given range isn't in document,并且图片没有添加至编辑器内。请问下这是什么原因?

按照到老的来吧,我的这个之后提交时要查找图片将图片替换成网络图片,大佬的方便多了