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



  • 相关阅读:
    springboot整合邮件发送(163邮箱发送为例)
    MySQL 容器修改配置文件后无法启动问题(终极解决办法)
    SQLyog无操作一段时间后重新操作会卡死问题(解决办法)
    Linux中配置端口转发(反向代理)
    SpringBoot之整合Quartz调度框架-基于Spring Boot2.0.2版本
    shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
    用xshell连接linux服务器失败 Could not connect to '112.74.73.194' (port 22): Connection failed.
    GooglePlay的多apk命令行安装
    trojan阉割备份
    网易云音乐本地数据库的歌单列表导出,一个不丢,支持1000首以上
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/11011267.html
Copyright © 2011-2022 走看看