Uploadify - 如何中止上传?

时间:2012-02-06 16:04:09

标签: uploadify

我对Uploadify有一个简单的问题。在上传开始之前,我想检查一些标准,这是真的 - 我想中止上传。下面的代码无法正常工作,即使我调用uploadifyCancel,它也会上传文件。如何解决?

$("#fileuploader").uploadify({
            uploader: '/Scripts/uploadify.swf',
            script: '/Upload/'
            fileDataName: 'file',
            buttonText:'upload',
            multi: false,
            sizeLimit: 369878,
            simUploadLimit: 1,
            cancelImg: '/Images/uploadify-cancel.png',
            auto: true,
            onOpen:function(event,ID,fileObj) {
                var found = $('#uploaded-files-table tr[some-attr="1"]');

                if($(found).length == 0){
                    $('#list').attr('disabled','disabled');
                } else {
                    $("#fileuploader").uploadifyClearQueue();
                    $("#fileuploader").uploadifyCancel(ID);
                }
            }
        });

3 个答案:

答案 0 :(得分:1)

我不确定你使用哪个版本但是我可以在下面进行。 我需要根据文件扩展名上传文件

'onAddQueueItem':function(file, e) {
 if (!(/\.(gif|jpeg|png|pdf)$/i).test(file.name)) {
$($this).data("uploadifive").removeQueueItem(file, 0, 10);
    file.skip = true; //This skip property stop uploading file
    }
}

答案 1 :(得分:0)

$("#fileuploader").uploadifyCancel(ID);代码正常运行。如果您添加onComplete和onAllComplete,则这些事件中的任何一个都不会被命中,表示取消事件有效。

问题是uploadify固有地在onOpen事件发生之前开始上传文件。在这里查看,看起来他们在onOpen http://www.uploadify.com/forums/discussion/5611/uploadifysettings-not-posting-new-script-data/p1

上修改脚本数据时遇到了同样的问题

如果$("#fileuploader").uploadifyCancel(ID);$("#fileuploader").uploadifyClearQueue();的文件大小超过600-700KB,我确实取消了一些文件。我认为这必须处理上传的速度。因为这些是较大的文件,所以取消事件在上传完成之前有时间触发。在实时服务器上,而不是在本地主机上,上传时间会更慢,因此可能没有及时取消事件的问题。我不会冒险。

可能的解决方法是在页面上包含一个启动上传的辅助按钮,并从uploadify init中删除auto: 'true'。这样,您可以在上传开始之前检查所需的任何值。

答案 2 :(得分:0)

使用uploadify的onSelect进行检查。

你可以这样做:

$("#fileuploader").uploadify({
            uploader: '/Scripts/uploadify.swf',
            script: '/Upload/'
            fileDataName: 'file',
            buttonText:'upload',
            multi: false,
            sizeLimit: 369878,
            simUploadLimit: 1,
            cancelImg: '/Images/uploadify-cancel.png',
            auto: true,
            'onSelect': function (file) {
                       if(file.type==".zip")
                       {//do something
                        }
                        else
                        {
                          //cancel upload
                         }