html5拖放文件上传

html5拖放文件上传,html,Html,我在我的网站上上传了很多文件,我想把它们做成拖放字段。然而,我似乎有一个问题与他们 有没有办法不用javascript或插件来实现拖放系统?我正试图使它尽可能轻,用最少的代码 我研究了几种不同的方法,例如,但它们都包括javascript 目前,我只有这样的常规输入 <input type="file" multiple="true" name="" value="" /> Afaik如果不使用javascript,就没有办法做到这一点。然而,这里有一个使用javascript的简

我在我的网站上上传了很多文件,我想把它们做成拖放字段。然而,我似乎有一个问题与他们

有没有办法不用javascript或插件来实现拖放系统?我正试图使它尽可能轻,用最少的代码

我研究了几种不同的方法,例如,但它们都包括javascript

目前,我只有这样的常规输入

<input type="file" multiple="true" name="" value="" />

Afaik如果不使用javascript,就没有办法做到这一点。然而,这里有一个使用javascript的简单示例。如果将图像拖动到红色div上,它会将图像附加到主体上。我已经证实它在IE11、Chrome38和Firefox32中都能正常工作。有关更详细的说明,请参阅本文

<div id="dropZone" style="width: 100px; height: 100px; background-color: red"></div>
<script>
    var dropZone = document.getElementById('dropZone');

    // Optional.   Show the copy icon when dragging over.  Seems to only work for chrome.
    dropZone.addEventListener('dragover', function(e) {
        e.stopPropagation();
        e.preventDefault();
        e.dataTransfer.dropEffect = 'copy';
    });

    // Get file data on drop
    dropZone.addEventListener('drop', function(e) {
        e.stopPropagation();
        e.preventDefault();
        var files = e.dataTransfer.files; // Array of all files
        for (var i=0, file; file=files[i]; i++) {
            if (file.type.match(/image.*/)) {
                var reader = new FileReader();
                reader.onload = function(e2) {
                    var img = document.createElement('img');
                    img.src= e2.target.result;
                    document.body.appendChild(img);
                }
                reader.readAsDataURL(file);
    }   }   });
</script>

var dropZone=document.getElementById('dropZone');
//可选。在上面拖动时显示复制图标。似乎只适用于chrome。
dropZone.addEventListener('dragover',函数(e){
e、 停止传播();
e、 预防默认值();
e、 dataTransfer.dropEffect='copy';
});
//在拖放时获取文件数据
dropZone.addEventListener('drop',函数(e){
e、 停止传播();
e、 预防默认值();
var files=e.dataTransfer.files;//所有文件的数组
for(var i=0,file;file=files[i];i++){
if(file.type.match(/image.*/){
var reader=new FileReader();
reader.onload=函数(e2){
var img=document.createElement('img');
img.src=e2.target.result;
文件.正文.附件(img);
}
reader.readAsDataURL(文件);
}   }   });

@JackWilliams我已经知道了。他正在谈论创建一个支架,使其看起来像一个ajax拖放。我说的是创建html5拖放。实际上,我不需要使用javascript就可以解决这个问题。如果您拉伸输入以填充容器,那么浏览器将处理其余部分,这适用于包括ie在内的所有浏览器。