博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js图片粘贴上传 [markdown文本编辑]
阅读量:3951 次
发布时间:2019-05-24

本文共 3825 字,大约阅读时间需要 12 分钟。

代码实现

// 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("上传失败");// }// }// });////// }document.addEventListener('paste', function (event) {
console.log(event); var isChrome = false; if (event.clipboardData || event.originalEvent) {
//某些chrome版本使用的是event.originalEvent var clipboardData = (event.clipboardData || event.originalEvent.clipboardData); if(clipboardData.items){
// for chrome var items = clipboardData.items, len = items.length, blob = null; isChrome = true; for (var i = 0; i < len; i++) {
console.log(items[i]); if (items[i].type.indexOf("image") !== -1) {
//getAsFile() 此方法只是living standard firefox ie11 并不支持 blob = items[i].getAsFile(); console.log(blob) const formData = new FormData(); formData.append('file',blob) _$_ajax_formData({
url:'/api/file', method:'POST', data:formData, success: function (res) {
console.log('上传成功') let str = window.contentEditor.getMarkdown(); str = str+'\r\n'+`![](${
res.data.url})` window.contentEditor.setMarkdown(str) } }) return } } } }})

转载地址:http://bbyzi.baihongyu.com/

你可能感兴趣的文章
Udev 内核机制(kobject_uevent) 性能优化
查看>>
Android 事件处理
查看>>
Android事件处理分析+Android事件处理 +Android输入事件流程
查看>>
Linux C :遍历输出指定目录下的所有文件
查看>>
c++ 标准模板库 List
查看>>
Android键盘系统相关代码分析(1)
查看>>
Android键盘系统
查看>>
关于构造IOCTL命令的学习心得
查看>>
Android Keyboard/Touch Panel分析
查看>>
Linux Kernel and Android休眠与唤醒
查看>>
Android Framework 分析
查看>>
inotify -- Linux 2.6 内核中的文件系统变化通知机制
查看>>
C++和JNI的数据转换
查看>>
poll()函数的使用
查看>>
I/O多路复用详解(二)
查看>>
深入理解硬盘的Linux分区
查看>>
ARM 指令集>>跳转指令
查看>>
gpio linux 实现模型
查看>>
Linux 2440 LCD 控制器
查看>>
/sys/bus/i2c/devices下的内容与i2c_board_info结构体
查看>>