3

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

我想在图片实际上传到服务器之前显示图片缩略图,基于。我使用 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在使用Uploadify时如何获得真实的?

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

非常感谢你们,好人。

4

1 回答 1

0

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

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

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

我希望这个对你有用!

于 2010-07-15T18:11:05.547 回答