2011-12-20 19 views
16

HTML5'te, önceden tanımlanmış API kullanarak dosyaları okuyabileceğimizi biliyoruz. Şu an itibariyleHTML5'te paste olayı ile ilgili bir dosya nasıl okunur?

<input type="file"> ve File Drop yöntemini denedim. Benim için iyi çalıştılar.

Ancak bir dosyada bir div üzerine yapıştırma ve dosyayı yapıştırma üzerine yazma olasılığını bilmek istiyorum. Örnek

için
$('#dummyDIV').bind('paste',function() 
{ 
     // Like var file = files[0] 
}); 

Teşekkür

+4

de, teoride, pano dosyaları da içerebilir, bu nedenle bunları, drop yönteminde yaptığınız gibi erişebilmeniz gerekir. event.config() olay nesnesini deneyin ve özellik var olup olmadığını ve almak için almak zorunda olduğunuz yolu görmek için gezinmek. –

+0

Bu site, http://base64img.com/ adresinde aynı yöntemle yapıştırılan dosyaları yapıştırır: http://base64img.com/ - ancak bir çevrimiçi adresi bir metin kutusuna yapıştırarak yapılır ve emin değilim dropzone üzerine bir dosya yapıştırarak çalışırsa? – adeneo

cevap

16

yalnızca yapıştırılan dosyanın adını okuyabilir.

http://jsfiddle.net/vdNFR/

$('body').bind('paste', function(a, b, c) { 
    console.log(a.originalEvent.clipboardData); 
    console.log(a.originalEvent.clipboardData.getData('File')); 
    console.log(a.originalEvent.clipboardData.getData('Text')); 
    if (a.originalEvent.clipboardData.files[0]) console.log(a.originalEvent.clipboardData.files[0].getAsFile()); 
    if (a.originalEvent.clipboardData.items[0]) console.log(a.originalEvent.clipboardData.items[0].getAsFile()); 
    console.log(a, b, c); 
}); 

O herhangi bir tarayıcı bu durumun olmasına izin verirsiniz eğer büyük bir güvenlik deliği olurdu.

+0

+1 Hiç bir tarayıcı bunu yapmanıza izin vermez – bardiir

+6

Sadece bir güvenlik deliği olacağını bilmek merak ediyorum. Açıklayabilir misin? – Sundeep

+0

Kazalar hasara neden olur. Kabul. Ve yapılan hatalar için ödeme yapmak zorunda. Diyelim ki bir KeePass dosyası ile oynamak için aptal bir kullanıcı değilim, başka hangi güvenlik sorunlarına neden olabilir? – Sundeep

İlgili konular