Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过HTML拖放将图像上载到Facebook_Javascript_Jquery_Facebook_Html - Fatal编程技术网

Javascript 通过HTML拖放将图像上载到Facebook

Javascript 通过HTML拖放将图像上载到Facebook,javascript,jquery,facebook,html,Javascript,Jquery,Facebook,Html,我有一个PHP脚本,可以将存储在服务器上的图像上传到Facebook帖子。我已经试过并测试过了,这篇文章很好地传到了Facebook上 我的网页上还有一个拖放区,基于。我遇到的困难是将文件放到我正在侦听的DOM元素上,然后将其传递给PHP脚本或Javascript函数 我怀疑Javascript可能是我最好的选择,所以我已经查看了Dropzone.js,但它似乎要求图像首先进入我的服务器,然后进入Facebook——出于存储和上传时间的原因,我真的希望避免这样做 我认为就Javascript解决

我有一个PHP脚本,可以将存储在服务器上的图像上传到Facebook帖子。我已经试过并测试过了,这篇文章很好地传到了Facebook上

我的网页上还有一个拖放区,基于。我遇到的困难是将文件放到我正在侦听的DOM元素上,然后将其传递给PHP脚本或Javascript函数

我怀疑Javascript可能是我最好的选择,所以我已经查看了Dropzone.js,但它似乎要求图像首先进入我的服务器,然后进入Facebook——出于存储和上传时间的原因,我真的希望避免这样做

我认为就Javascript解决方案而言,它与
FileReader()
有关,以下是我迄今为止的代码:

function handleFileSelect(evt) {
    evt.stopPropagation();
    evt.preventDefault();
    var files = evt.dataTransfer.files;
    for (var i = 0, f; f = files[i]; i++) {
    if (!f.type.match('image.*')) { continue; }
    var fileReader = new FileReader();
    fileReader.onload = (function(theFile) {
        return function(e) {
            var blob = e.target.result;
            var fd = new FormData();
            fd.append("access_token",fbAccessToken);
            fd.append("source", blob);fd.append("message","This is another post test...");
    try{
        $.ajax({
            url:"https://graph.facebook.com/" + fbuserid + "/photos?access_token=" + fbAccessToken,
            type:"POST",
            data:fd,
            processData:false,
            contentType:false,
            cache:false,
            console.log("success " + data);
        },
        error:function(shr,status,data){
                console.log("error " + data + " Status " + shr.status);
        },
        complete:function(){
                    console.log("Ajax Complete");
        }
    });
    }catch(e){console.log(e);}
};})(f);

fileReader.readAsDataURL(f);
}
}

我可以看到原始图像数据可以通过那里访问,但我如何才能将其传递到
Formdata

不确定我是否有它,但您使用什么浏览器?-检查我使用的是Safari 7和Firefox 27