0

有人知道 rapidshare 中的多文件上传器是如何实现的吗?我说的是文件的多重选择: 选择多个文件

并根据文件上传进度将它们分开: 多上传进度

我没有看到 nginx uploadprogress 调用(如在 depositfiles 中)或任何其他调用,因此 RS 可能使用 ajax 上传。我读到旧的 IE 不能使用跨域 ajax 上传,但 RS 在 IE7-IE9 中运行完美。RS 上传器适用于所有浏览器。我在浏览器中关闭了 Java 和 Flash,但 RS 上传器仍在工作。如何???

4

1 回答 1

1

现代(非 IE)浏览器有一个新的文件 API。除了input type=file元素的多个属性外,您还可以读取几个文件并单独上传它们。

以下是此新功能的基本示例:

file.onchange = function()
{
    if(file.files.length)
    {
        var reader = new FileReader();

        reader.onload = function(e)
        {
            // do something with e.target.result;
        };

        //reader.readAsBinaryString(file.files[0]);
        reader.readAsArrayBuffer(file.files[0]);
    }
}

也见这里

在 Internet Explorer(9 之前)中,这可能是一个 ActiveX 功能。但是,它不应该与 IE 8 中的默认设置一起使用。

你可以用这个词来查找new ActiveXObject("Scripting.FileSystemObject");

于 2012-02-22T20:00:59.110 回答