使用paste事件,从excel表格中复制图片到网页上

使用paste事件,从excel表格中复制图片到网页上,其实也可以其他的网页的,复制图片。以下是Extjs代码:

Ext.EventManager.addListener(Ext.getBody(), "paste", this.onPaste, this);

 onPaste的实现

onPaste: function (e) {
        e.stopPropagation();
        e.preventDefault();

        var ext = this.owner.explorer.selNode.attributes.ext;
        var app = Weoso.ApplicationTypes[ext];

        if (!app || !app.imageUploadType) {
            return;
        }

        var k=0;

        var items = e.browserEvent.clipboardData.items;
        var files = [];
        var f;
        for (var i = 0; i < items.length; ++i) {
            if (items[i].kind == 'file' &&
                items[i].type.indexOf('image/') !== -1) {
                f = items[i].getAsFile();
                f.name = "." + items[i].type.substring(6).toLowerCase();
                files.push(f);
                break;
            }
        }
        if (files.length) {
            Ext.MessageBox.show({
                title: "weOSo",
                msg: "请输入该图片对应的名称(区分大小写)",
                buttons: Ext.MessageBox.OKCANCEL,
                fn: function (e, text) {
                    if(e=="ok"){
                        this.uploader.show();
                        f.name = text+ f.name;
                        this.uploader.invokeUploader(files, app.imageUploadType);
                    }
                },
                minWidth: Ext.MessageBox.minPromptWidth,
                scope: this,
                prompt: true
            });
        }

    }

 此时就可以得到复制图片的Blob模式的数据。

在结合http://openxtiger.iteye.com/blog/1830800 这个文章,就即可实现图片上传。

 

注意:因为Blob文件类型的文件名默认为:blob,如果要将图片设置为自己文件名,可在FormData的append的每三个参数传入:

void append(DOMString name, Blob value, optional DOMString filename);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值