4

我有一个文件上传表格。我想在实际上传文件之前验证文件大小。我可以在 Chrome 中做到这一点,但如何让它在 IE 中工作?

请注意,gmail 可以这样做。当我将文件拖入文件附件区域时,它会立即告诉我文件的大小。我已经在 IE9 和 IE8 中尝试过。即使我与互联网断开连接,它也能告诉我文件大小,所以它不像是先上传文件。我没有(据我记得)必须给予任何特殊的 activeX 权限或任何东西。

我在其他答案中看到了以下内容,但这需要用户给予特殊许可,对吧?我想避免这种情况。此外,我不确定如何实际获取我需要的文件以使其正常工作。

   var oas = new ActiveXObject("Scripting.FileSystemObject");
   var e = oas.getFile(file.value);
4

2 回答 2

2

谷歌这样做是有后备的。

如果没有 html5 文件 api,它将使用 adobe flash 上传文件。

你可以使用这样的东西来获得跨浏览器的兼容性:https ://github.com/valums/file-uploader

于 2012-12-01T14:21:46.577 回答
0

如果你想使用ActiveXObject,正确的代码是:

var fso = new ActiveXObject("Scripting.FileSystemObject"),
    file = fso.GetFile(file_path),
    size = file.size;
于 2012-12-01T16:02:43.043 回答