items.length比较有意思,初步判断是根据mime类型来的,即有几种mime类型,长度就是几(待验证)
粘贴上传图片 事件
 document.addEventListener('paste',async function(event){
            var isChrome = false;
            if ( event.clipboardData || event.originalEvent ) {
                //not for ie11  某些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;
                    //items.length比较有意思,初步判断是根据mime类型来的,即有几种mime类型,长度就是几(待验证)
                    //如果粘贴纯文本,那么len=1,如果粘贴网页图片,len=2, items[0].type = 'text/plain', items[1].type = 'image/*'
                    //如果使用截图工具粘贴图片,len=1, items[0].type = 'image/png'
                    //如果粘贴纯文本+HTML,len=2, items[0].type = 'text/plain', items[1].type = 'text/html'
                    // console.log('len:' + len);
                    // console.log(items[0]);
                    // console.log(items[1]);
                    // console.log( 'items[0] kind:', items[0].kind );
                    // console.log( 'items[0] MIME type:', items[0].type );
                    // console.log( 'items[1] kind:', items[1].kind );
                    // console.log( 'items[1] MIME type:', items[1].type );
                    //阻止默认行为即不让剪贴板内容在div中显示出来
                    event.preventDefault();
                    //在items里找粘贴的image,据上面分析,需要循环
                    for (var i = 0; i < len; i++) {
                        if (items[i].type.indexOf("image") !== -1) {
                            //getAsFile() 此方法只是living standard firefox ie11 并不支持
                            blob = items[i].getAsFile();
                            var formData = new FormData();
                            formData.append("editormd-image-file",blob,blob.name)
                            let config = {
                                headers :{"Content-Type":"multipart/from-data"}
                            }
                            let url = "/api/com/t-user/upload";
                            axios.post(url,formData,config).then(res=>{
                                    // console.log(res.data.url)
                                    $(".imgsrc").css("display", "block");
                                    $('#imgmd').html("\n");
                            });
                        }
                    }
                }
            }
        })
本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com