上载前检查文件大小的其他方法

时间:2010-02-03 06:24:59

标签: file-upload swfupload

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

4 个答案:

答案 0 :(得分:2)

  

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

不在JavaScript中,文件大小为not in the DOM

答案 1 :(得分: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!");
    }
}

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

答案 2 :(得分:1)

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

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

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

干杯

答案 3 :(得分:1)

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