javascript - jQuery 放置要上传的文件

标签 javascript jquery

我想用拖放文件上传文件 我知道 $.ajax 是不可能的 这里 这是我的代码

$('.eCover').on(
    'dragover',
    function(e) {
        e.preventDefault();
        e.stopPropagation();
    }
)
$('.eCover').on(
    'dragenter',
    function(e) {
        e.preventDefault();
        e.stopPropagation();
    }
)
$('.eCover').on(
    'drop',
    function(e){
        if(e.originalEvent.dataTransfer){
            if(e.originalEvent.dataTransfer.files.length) {
                e.preventDefault();
                e.stopPropagation();
                /*UPLOAD FILES HERE*/
                upload(e.originalEvent.dataTransfer.files);
            }   
        }
    }
);
function upload(files){
    $.ajax({
        type: "post",
        url: "upload.php",
        data: {data:files},
        dataType: "json",
        cache:false,
        success:function(data){
            alert(data);
            return false;
        }
    })
}

我无法使用ajax发送数据文件,我该怎么办? 我想通过代码而不是插件来尝试 谢谢

最佳答案

您可以使用XMLHttpRequest对象使用FormData上传

function upload(myfile) {
        var fd = new FormData();
        fd.append("fileToUpload", myfile);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "upload.php");
        xhr.send(fd);
}

取自 this tutorial

关于javascript - jQuery 放置要上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808884/

相关文章:

javascript - 从异步函数请求结果

javascript - 谷歌饼图 : remove white gap between pie slices

javascript - 突出显示快捷键上的文本输入

javascript - Firebase 版本 9 使用多个条件 where 子句

javascript - 如何使用 javascript 在特定网页上显示按钮

JavaScript 在包含下拉菜单和字段的添加更多按钮内不起作用

javascript - bxSlider:禁用桌面浏览器的 touchEnabled

javascript - 试图让按钮发挥作用,但我的警报弹出了书面脚本

javascript - 将 css 样式表应用于内联 svg 元素而不将其加载到页面上

javascript - jQuery .height() 不适用于 box-sizing : border-border