6

有没有其他方法可以在上传之前检查文件的大小?要求是如果文件超出限制,则不得提交表单。如果不是,我必须使用表单进行普通上传,而不必使用 Flash 将文件准确上传到服务器。

4

4 回答 4

2

有没有其他方法可以在上传之前检查文件的大小?

不在 JavaScript 中,文件大小不在 DOM 中

于 2010-02-03T07:25:50.883 回答
1

在实例化 SWFUpload 时,需要传递两个参数:file_size_limit 和 file_queue_error_handler:

new SWFUpload({
    file_size_limit: "10 MB",
    file_queue_error_handler: queueErrorHandler,
    [...]
})

进而:

function queueErrorHandler(file, errorCode) {
    if (errorCode == SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT) {
        alert("File exceeds the 10MB limit!");
    }
}

这会在开始上传之前检查文件大小是否在限制范围内

于 2010-02-03T07:58:51.130 回答
1

使用 W3C FileAPI(至少由 Firefox 3.6 实现)你可以。

有关详细信息,请参阅此链接

http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6/

干杯

于 2010-02-04T15:18:53.693 回答
1

可以通过 SWFUpload 控件检查文件大小。只需将 SWFUpload 控件放在 Web 表单标记之外。告诉用户单击 SWFUpload 按钮并指向他的上传文件。使用 javascript 确定文件大小,然后在您认为合适的情况下使用此信息,例如填充验证函数。然后您的主表单将需要要求用户再次指向他们的上传文件,并且正是这个字段将执行文件的实际上传。提交表单时,SWFUpload 控件将被完全忽略,因为它不是主表单的一部分。

于 2012-06-19T20:29:31.397 回答