pasteイベントを使用して、excelテーブルからWebページに画像をコピーします.
2321 ワード
pasteイベントを使用して、excelテーブルからWebページに画像をコピーしますが、実際には他のWebページの、画像をコピーすることもできます.Extjsコードは次のとおりです.
onPasteの実装
このとき,コピー画像のBlobモードのデータを得ることができる.
結合http://openxtiger.iteye.com/blog/1830800 この文章は、画像のアップロードを実現することができます.
注意:Blobファイルタイプのファイル名はデフォルトで:blobなので、画像を自分のファイル名に設定する場合は、FormDataのappendの3つのパラメータごとに入力できます.
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の3つのパラメータごとに入力できます.
void append(DOMString name, Blob value, optional DOMString filename);