Javascript Firefox 3.6在试图显示缩略图时崩溃

Javascript Firefox 3.6在试图显示缩略图时崩溃,javascript,jquery,thumbnails,uploadify,firefox3.6,Javascript,Jquery,Thumbnails,Uploadify,Firefox3.6,我使用上传多张图片到服务器 我想在图片实际上传到服务器之前显示图片缩略图。我使用Firefox3.6.6 以下是我的想法: $('#fileInput').uploadify({ ... onSelect: function(event, queueID, fileObj) { var img = document.createElement("img"); img.classList.add("obj"); img.fil

我使用上传多张图片到服务器

我想在图片实际上传到服务器之前显示图片缩略图。我使用Firefox3.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
不是真正的
文件

有人知道在使用时如何获取真正的
文件吗

我真的需要任何建议,因为我完全被这件事困住了


非常感谢大家。

您的问题非常有趣,因此我使用了您提供的代码,但我担心您试图做的是不可能的

我发现的第一件事是,您对fileObj的看法是正确的,它不同于onchange事件中来自输入文件组件的文件,这是导致崩溃的最可能原因。当我在玩你的代码时,我试图用简单的javascript对象来模拟属性,但这也不起作用(FF以同样的方式崩溃)

其次,uploadify使用flash(动作脚本)实际上传文件。您可以注意到uploadify的事件和类的事件之间的相似性。因此,在文件上传过程中,您在开始时使用的这个文件输入根本不被使用(在我看来,它只是用来确定将用于上传的flash对象放在何处)。这可以通过检查输入文件对象中的files属性来验证,例如在uploadify的onselect事件或onopen事件中(在这两种情况下,文件都是0大小的数组)


我希望这有帮助

非常感谢您抽出时间,并希望提供帮助!不幸的是,我也意识到,由于上传设计,我想要的并不是不可能的。因此,我不得不在上传后显示图片缩略图:(