尝试显示缩略图时Firefox 3.6崩溃

时间:2010-07-12 01:17:18

标签: javascript jquery thumbnails uploadify firefox3.6

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

我想根据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并非file file,而是here

有人知道在使用Uploadify时如何获得真实的{{1}}吗?

我真的需要任何建议,因为我完全坚持这个!

非常感谢,好人。

1 个答案:

答案 0 :(得分:0)

你的问题非常有趣,所以我玩了你提供的代码,但我担心你想做什么是不可能的。

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

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

我希望这有帮助!