素材牛VIP会员
Vue.js 剪切板浏览器上传图片 safari 浏览器异常
 请***神  分类:JavaScript  人气:1309  回帖:1  发布于6年前 收藏

Google浏览器是可以的,但 Safari 一直不行。

var clipboardData = event.clipboardData,  i = 0,  items, item, types;
if( clipboardData) {
    items = clipboardData.items;
    if( !items ){
      return;
    }

    item = items[0];

    //保存在剪贴板中的数据类型
    types = clipboardData.types || [];

    for( ; i < types.length; i++ ){
        if( types[i] === 'Files' ){
            item = items[i];
            break;
        }
    }

    // 判断是否为图片数据
    if( item && item.kind === 'file' && item.type.match(/^image\//i) ) {
        event.preventDefault(); //是图片就阻止 默认剪切板事件 
        var file = item.getAsFile();
        if(!file) {
        
          return false;
        }
        
        var url  = '后台上传图片地址'
        
        var file_data = new FormData();
        file_data.append('file', file);

        $.ajax({
            type: server.upload.method,
            url: url,
            data: file_data,
            dataType: "json",
            async: true,    
            cache: false,    
            contentType: false,    
            processData: false, 
            success:function(e) {
              //上传成功,插入到编辑器中
            }
        })
                    }
                }

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv3 码奴
Go***ng 职业无 6年前#1
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取