首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML编辑器和从Word粘贴图像

HTML编辑器和从Word粘贴图像
EN

Stack Overflow用户
提问于 2017-06-10 04:54:03
回答 1查看 2.7K关注 0票数 5

我们已经制作了一个非常简单的html编辑器(contenteditable="true"),用户可以粘贴从其他网页复制的图像,但是如果用户从word复制图像,word将粘贴src作为file://temp/someimg.jpg,浏览器将不会加载该图像。

代码语言:javascript
复制
<img src="file://..../.jgp">

但是,如果我在开发计算机(http://127.0.0.1)上运行网页并执行同样的操作,word将将图像src粘贴为“data: image /jpeg;base64 64.”

有什么方法可以让word始终将base64编码的图片粘贴到编辑器,而不仅仅是文件:// location?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-10 09:58:02

您将需要处理粘贴事件,并读取剪贴板的图像内容。请在下面的代码片段中找到原型(在google中测试),它演示了相同的内容。

代码语言:javascript
复制
// create paste event listener
window.addEventListener("paste", pasteHandler);

// handle paste events
function pasteHandler(e) {
  if (e.clipboardData) {
    var items = e.clipboardData.items;
    if (items) {
      for (var i in items) { // iterate through clipbord items
        var item = items[i];
        if (item.kind == "file") {  //image is a file
        
          // create image source
          var blob = item.getAsFile();
          var URLObj = window.URL || window.webkitURL;
          var source = URLObj.createObjectURL(blob);
          var pastedImage = new Image();
          pastedImage.src = source;
          
          // add it in editor
          document.getElementById("editor").innerHTML = document.getElementById("editor").innerHTML + pastedImage.outerHTML;
        }
      }
    }
  }
}
代码语言:javascript
复制
#editor{
  min-width: 400px;
  min-height: 250px;
  border: solid;
  border-width: thin;
  padding: 10px;
}
代码语言:javascript
复制
<div id="editor" contenteditable=true>Copy an image from word<br/>Press Ctrl+v to paste it here <br/></div>

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44469678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档