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);
                }
            }
        }
    });
    
    
    



  • 相关阅读:
    Oracle VM VirtualBox 虚拟机中桥接模式一直不能用 ,需要安装 VBoxNetLwf.inf
    Windows7窗口跑到屏幕外面
    手动操作群晖蜂鸣器指示灯方法
    DHT11温湿度传感器接入HomeBridge
    DIY树莓派Homebridge智能台灯
    群晖NAS局域网无法跑满千兆排查
    虚拟机性能监控与故障处理工具------JDK的命令行工具
    垃圾收集器与内存分配策略-内存分配与回收策略
    Minor GC 与Full GC有什么不一样
    java的关键字与保留字
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/11011267.html
Copyright © 2011-2022 走看看