editor.md作为一款Markdown编辑器,界面美观,功能强大

但是图片,文件上传方面缺少了剪切,拖拽上传,有那么一点每中不足,下面就简单实现一个,废话不多说,直接上代码。

uploadImg.js

function initPasteDragImg(Editor){

var doc = document.getElementById(Editor.id)

doc.addEventListener('paste', function (event) {

var items = (event.clipboardData || window.clipboardData).items;

var file = null;

if (items && items.length) {

// 搜索剪切板items

for (var i = 0; i < items.length; i++) {

if (items[i].type.indexOf('image') !== -1) {

file = items[i].getAsFile();

break;

}

}

} else {

console.log("当前浏览器不支持");

return;

}

if (!file) {

console.log("粘贴内容非图片");

return;

}

uploadImg(file,Editor);

});

var dashboard = document.getElementById(Editor.id)

dashboard.addEventListener("dragover", function (e) {

e.preventDefault()

e.stopPropagation()

})

dashboard.addEventListener("dragenter", function (e) {

e.preventDefault()

e.stopPropagation()

})

dashboard.addEventListener("drop", function (e) {

e.preventDefault()

e.stopPropagation()

var files = this.files || e.dataTransfer.files;

uploadImg(files[0],Editor);

})

}

function uploadImg(file,Editor){

var formData = new FormData();

var fileName=new Date().getTime()+"."+file.name.split(".").pop();

formData.append('editormd-image-file', file, fileName);

$.ajax({

url: Editor.settings.imageUploadURL,

type: 'post',

data: formData,

processData: false,

contentType: false,

dataType: 'json',

success: function (msg) {

var success=msg['success'];

if(success==1){

var url=msg["url"];

if(/\.(png|jpg|jpeg|gif|bmp|ico)$/.test(url)){

Editor.insertValue("![图片alt]("+msg["url"]+" ''图片title'')");

}else{

Editor.insertValue("[下载附件]("+msg["url"]+")");

}

}else{

console.log(msg);

alert("上传失败");

}

}

});

}

使用方法

1.页面引入uploadImg.js

2.editor.md配置开启图片上传功能,onload事件里面初始化插件

var testEditor = editormd("test-editormd", {

width: "90%",

height: 740,

path : '../lib/',

theme : "dark",

previewTheme : "dark",

editorTheme : "pastel-on-dark",

codeFold : true,

saveHTMLToTextarea : true, // 保存 HTML 到 Textarea

searchReplace : true,

imageUpload : true, //必须

imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],

imageUploadURL : "./php/upload.php", //必须

onload : function() {

initPasteDragImg(this); //必须

}

});

3.复制粘贴,拖拽文件也是可以的,上传服务添加支持的后缀就可以。

官方提供了php的上传代码./editor.md/blob/master/examples/php/upload.php

这样就支持txt,pdf的拖拽,复制转帖上传功能了。

ue编辑器拖拽上传图片_editor.md实现拖拽剪切复制粘贴上传图片,文件插件相关推荐

  1. editor.md 实现拖拽剪切复制粘贴上传图片,文件插件

    editor.md作为一款Markdown编辑器,界面美观,功能强大 但是图片,文件上传方面缺少了剪切,拖拽上传,有那么一点每中不足,下面就简单实现一个,废话不多说,直接上代码. 文章目录 1. 新增 ...

  2. editor.md实现拖拽剪切复制粘贴上传图片,文件插件

    editor.md作为一款Markdown编辑器,界面美观,功能强大 但是图片,文件上传方面缺少了剪切,拖拽上传,有那么一点每中不足,下面就简单实现一个,废话不多说,直接上代码. uploadImg. ...

  3. kali安装vmtools不能拖拽(复制粘贴)文件解决方法

    命令行下 执行 apt-get install open-vm-tools-desktop fuse 以安装open-vm-tools 部分提示安装错误,找不到指定目录,附上解决方法: 需要添加更新源 ...

  4. JQuery 复制粘贴上传图片插件(textarea 和 tinyMCE)

    原文地址:http://www.cnblogs.com/xishuai/p/jquery-paste-upload-image.html 开源地址:https://github.com/yuezhon ...

  5. UE编辑器:复制粘贴出错

    1.复制UE编辑器里的东西,然后粘贴到其他的地方,发现粘贴的内容不对,是我以前粘贴上的东西,于是想怎么回事,是不是我的之前的粘贴内容还在粘贴板中,于是,关闭了原来复制处的文本,对UE中的内容重新复制. ...

  6. ue编辑器拖拽上传图片_Typora + PicGo打造超好用的Markdown编辑器

    工欲善其事必先利其器,既然决定要写作啦,一个好用的编辑器是必不可少的工具.相信作为一个程序员,大家应该也都比较了解Markdown语法,经过重重对比,我选定了Typora来作为Markdown编辑器. ...

  7. ue编辑器拖拽上传图片_为百度UE编辑器上传图片添加水印功能

    前些日子把phpcms的内置编辑器改成了百度UE编辑器,非常好用,但是有个地方不是很满意,就是没法给上传的图片加水印了,经过一番研究终于实现了出来,分享给大家 UEditor编辑器上传图片是自动提取的 ...

  8. python在线编辑器最新_Editor.md 二次开发-markdown在线编辑器

    需求分析 经常需要在网络论坛发布文章进行宣传良心工作室最新免费服务,但每个论坛的编写格式存在差异,给发布带来了很大的障碍. 最近markdown格式的兴起,给广大发布者带来了福音,一种文档格式大部分网 ...

  9. html元素拖拽预览图,HTML5拖拽上传图片预览

    1.文件API:(File API) file类型的的表单控件选择的每一个文件都是一个file对象,而FileList对象则是这些file对象的集合列表,代表所选择的所有文件.file对象继承于Blo ...

最新文章

  1. 解决方案:__init__() got an unexpected keyword argument ‘kill_previous‘
  2. 查找文件命令find总结以及查找大文件
  3. wxWidgets:通过组合现有小部件制作新的可重用小部件
  4. HDU - 5008 Boring String Problem(后缀数组+二分)
  5. BAT人脸识别功能第二步-人脸检测
  6. Django 用 uploadify 实现图片批量上传
  7. RocketMQ事务消息从生产到消费原理详解(包括回查过程)
  8. linux管理包安装软件命令,和vi/vim使用方法
  9. C:矩形相交、相包含、相离关系判断
  10. 快速入门学习数字图像处理(冈萨雷斯第三版)
  11. 【车标识别】基于SIFT算子的车标识别算法matlab仿真
  12. 信息安全制度(用户篇)
  13. NC6 转库单、采购入库单、库存委托入库单签字后自动生成调拨订单
  14. VMX 进程已提前退出。VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。
  15. 英语口语练习四十二之12种“安静”的表达
  16. vue实现水平时间线与蛇形时间线
  17. SHA224和SHA256哈希算法原理及实现(附源码)
  18. 国际奥林匹克数学比赛给用计算机吗,国际奥林匹克数学竞赛怎样参赛?有何标准?...
  19. 【ACM- OJ】《非常可乐》C++
  20. 网络嗅探器的设计开发------C++

热门文章

  1. Redis 4.x/5.x未授权访问漏洞
  2. [Python人工智能] 二十七.基于BiLSTM-CRF的医学命名实体识别研究(下)模型构建
  3. 程序人生:无他,唯心向尔
  4. [LeetCode] Count Primes - 素数系列问题
  5. Golang之实现一个负载均衡算法(随机,轮询)
  6. 树莓派AI视觉云台——3、树莓派系统的启动
  7. Java常用API(一)Object
  8. 【机器视觉】 exit算子
  9. 【Qt】创建线程程序示例
  10. 【Linux】一步一步学Linux——exec命令(208)