如何在HTML5中读取粘贴事件上的文件

Exc*_*ion 16 jquery html5 google-chrome-extension

在HTML5中,我们知道我们可以使用预定义的API读取文件.截至目前我已经尝试过了

<input type="file">File Drop方法.他们对我很好.

但是我想知道在div上粘贴文件并在粘贴时捕获文件的可能性.例如

 $('#dummyDIV').bind('paste',function()
 {
      // Like var file = files[0]
 });
Run Code Online (Sandbox Code Playgroud)

谢谢

kaz*_*kaz 18

您只能读取粘贴文件的文件名.

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);
});
Run Code Online (Sandbox Code Playgroud)

如果任何浏览器允许这种情况发生,这将是一个主要的安全漏洞.

  • 只是好奇地知道为什么它会成为一个安全漏洞.你可以解释吗? (6认同)
  • 我勒个去.你们都在不小心谈论*将文件丢弃在浏览器上.可以随时在浏览器上拖放文件,许多应用程序(如Facebook)处理它们以进行上传.这个问题是关于**粘贴**. (3认同)