2010-07-12 39 views
3

当我使用Uploadify到多张照片上传到服务器。Firefox 3.6的崩溃试图显示缩略图

我想要显示图片缩略图之前图片实际上传到服务器,基于this。我使用Firefox 3.6.6。

这里是我想做到这一点:

$('#fileInput').uploadify({ 
    ... 
    onSelect: function(event, queueID, fileObj) { 
     var img = document.createElement("img"); 
     img.classList.add("obj"); 
     img.file = file; 
     document.getElementById("ThumbnailsArea").appendChild(img); 
     var reader = new FileReader(); 
     reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img); 
     reader.readAsDataURL(fileObj); // This crashes Firefox 
     return true; 
    } 
    ... 
}); 

之所以崩溃,我认为,这是fileObj是不是真的像filehere

有谁知道如何才能获得真正file使用Uploadify什么时候?

我真正需要的任何意见,因为我完全坚持这一!

非常感谢你,善良的人。

回答

0

你的问题很有意思,所以我打得四处您提供的代码,但我怕你有什么要做的是不可能的。

,我发现的第一件事是,你是约FileObj文件从来自输入文件组件onchange事件,并且是崩溃的最可能的原因文件不同的是正确的。当我在玩你的代码时,我尝试用简单的javascript对象来模拟file属性,但这也不起作用(FF以相同的方式崩溃)。

其次,uploadify使用闪存(动作脚本)实际上传文件。你可以注意到uploadify的事件和那些Filereference类的事件之间的相似性。因此,在文件上传过程中,您一开始就没有使用此文件输入(在我看来,它仅用于确定将Flash对象用于上传的位置)。这可以通过检查输入文件对象中的文件属性来验证,例如uploadify的onselect事件或onopen事件(在这两种情况下,文件都是0大小的数组)。

我希望这有助于!

+0

非常感谢您的宝贵时间,并希望能帮助!不幸的是,我还意识到,由于Uploadify设计,我想要的不是不可能的。所以,我必须妥协与上传后显示图片缩略图:( – 2010-07-17 13:12:00