zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    base 64 & blob & image url

    base 64 image & e.clipboardData.items[1]

    https://codepen.io/xgqfrms/full/xobamq

    // 单聊贴图发送
    let box = document.querySelector(`[data-input="text"]`);
    box.addEventListener("paste", function (e) {
        // log(`e =`, e);
        // log(`e.clipboardData`, e.clipboardData);
        // log(`e.clipboardData.types`, e.clipboardData.types);
        // log(`e.clipboardData.items`, e.clipboardData.items);
        // log(`e.clipboardData.items.length`, e.clipboardData.items.length);
        // log(`e.clipboardData.items[0]`, e.clipboardData.items[0]);
        // log(`e.clipboardData.items[1]`, e.clipboardData.items[1]);
        if (e.clipboardData && e.clipboardData.types) {
            if (e.clipboardData.items.length > 0) {
                if (/^image/w+$/.test(e.clipboardData.items[1].type)) {
                    let blob = e.clipboardData.items[1].getAsFile();
                // if (/^image/w+$/.test(e.clipboardData.items[0].type)) {
                //     let blob = e.clipboardData.items[0].getAsFile();
                    let url = window.URL.createObjectURL(blob);
                    privewImage(url);
                    // blob:null/2bc6b76b-7293-458d-bc8c-9d242e94a18e
                    let uid = conn.getUniqueId();
                    // 生成本地消息id
                    let msg = new WebIM.message("img", uid);
                    // 创建图片 img 消息
                    msg.set({
                        apiUrl: WebIM.config.apiURL,
                        file: {
                            data: blob,
                            url: url,
                        },
                        // to: "test",
                        to: "root",
                        // 接收消息对象
                        roomType: false,
                        // 单聊
                        onFileUploadError(err) {
                            log("Image Upload Error", err);
                        },
                        onFileUploadComplete(data) {
                            log("Image Upload Complete", data);
                        },
                        success(id) {
                            log("Image Upload Success", id);
                            alert(`图片发送成功!`);
                        },
                    });
                    conn.send(msg.body);
                }
            }
        }
    });
    
    

    blob image & e.clipboardData.items[0]

    https://codepen.io/xgqfrms/full/XLJPQj

    // 单聊贴图发送
    let box = document.querySelector(`[data-input="text"]`);
    box.addEventListener("paste", function (e) {
        // log(`e =`, e);
        // log(`e.clipboardData`, e.clipboardData);
        // log(`e.clipboardData.types`, e.clipboardData.types);
        // log(`e.clipboardData.items`, e.clipboardData.items);
        // log(`e.clipboardData.items.length`, e.clipboardData.items.length);
        // log(`e.clipboardData.items[0]`, e.clipboardData.items[0]);
        // log(`e.clipboardData.items[1]`, e.clipboardData.items[1]);
        if (e.clipboardData && e.clipboardData.types) {
            if (e.clipboardData.items.length > 0) {
                if (/^image/w+$/.test(e.clipboardData.items[0].type)) {
                    let blob = e.clipboardData.items[0].getAsFile();
                    let url = window.URL.createObjectURL(blob);
                    privewImage(url);
                    // blob:null/2bc6b76b-7293-458d-bc8c-9d242e94a18e
                    let uid = conn.getUniqueId();
                    // 生成本地消息id
                    let msg = new WebIM.message("img", uid);
                    // 创建图片 img 消息
                    msg.set({
                        apiUrl: WebIM.config.apiURL,
                        file: {
                            data: blob,
                            url: url,
                        },
                        // to: "test",
                        to: "root",
                        // 接收消息对象
                        roomType: false,
                        // 单聊
                        onFileUploadError(err) {
                            log("Image Upload Error", err);
                        },
                        onFileUploadComplete(data) {
                            log("Image Upload Complete", data);
                        },
                        success(id) {
                            log("Image Upload Success", id);
                            alert(`图片发送成功!`);
                        },
                    });
                    conn.send(msg.body);
                }
            }
        }
    });
    
    

    bug

    solution

    all in one

    
    // 单聊贴图发送
    let box = document.querySelector(`[data-input="text"]`);
    box.addEventListener("paste", function (e) {
        // log(`e =`, e);
        // log(`e.clipboardData`, e.clipboardData);
        // log(`e.clipboardData.types`, e.clipboardData.types);
        // log(`e.clipboardData.items`, e.clipboardData.items);
        // log(`e.clipboardData.items.length`, e.clipboardData.items.length);
        // log(`e.clipboardData.items[0]`, e.clipboardData.items[0]);
        // log(`e.clipboardData.items[1]`, e.clipboardData.items[1]);
        if (e.clipboardData && e.clipboardData.types) {
            if (e.clipboardData.items.length > 0) {
                // if (/^image/w+$/.test(e.clipboardData.items[0].type)) {
                //     let blob = e.clipboardData.items[0].getAsFile();
                // if (/^image/w+$/.test(e.clipboardData.items[1].type)) {
                //     let blob = e.clipboardData.items[1].getAsFile();
                if (/^image/w+$/.test(e.clipboardData.items[0].type) || /^image/w+$/.test(e.clipboardData.items[1].type)) {
                    let blob = e.clipboardData.items[0].getAsFile() || e.clipboardData.items[1].getAsFile();
                    let url = window.URL.createObjectURL(blob);
                    privewImage(url);
                    // blob:null/2bc6b76b-7293-458d-bc8c-9d242e94a18e
                    let uid = conn.getUniqueId();
                    // 生成本地消息id
                    let msg = new WebIM.message("img", uid);
                    // 创建图片 img 消息
                    msg.set({
                        apiUrl: WebIM.config.apiURL,
                        file: {
                            data: blob,
                            url: url,
                        },
                        // to: "test",
                        to: "root",
                        // 接收消息对象
                        roomType: false,
                        // 单聊
                        onFileUploadError(err) {
                            log("Image Upload Error", err);
                        },
                        onFileUploadComplete(data) {
                            log("Image Upload Complete", data);
                        },
                        success(id) {
                            log("Image Upload Success", id);
                            alert(`图片发送成功!`);
                        },
                    });
                    conn.send(msg.body);
                }
            }
        }
    });
    
    
    



  • 相关阅读:
    创建表头固定,表体可滚动的GridView(转)
    正则表达式实现资料验证的技术总结 (转)
    通过样式表实现固定表头和列 (转)
    如何把string解析为int?(转)
    代码设计简单规范 (转)
    取存储过程结果集
    JS对select动态添加options操作[IE&FireFox兼容]
    多UpdatePanel
    ASP.NET页面如何引发PostBack事件 转
    asp.net 页面回传
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/11011267.html
Copyright © 2011-2022 走看看