可以重置jquery图像上传插件而无需刷新

时间:2016-05-24 09:14:17

标签: jquery

我正在使用HayaGeek的jquery多文件上传器。

var uploadObj = $("#fileuploader").uploadFile({
             url:"PHP File...",
             fileName:"userFile",
             dragDrop:false,
             multiple:false,
             showFileCounter:false,
             allowedTypes:"jpg,jpeg,png,mov,mp4",
             acceptFiles:"video/*,image/*",
             showQueueDiv: "fileprogress",
             maxFileSize: 512000000,
             autoSubmit: false,

             onSelect:function(files)
            {

                $('#fileprogress').show();
                var filename = files[0].name;

                var valid_extensionsVideo = /(\.mov|\.mp4)$/;   

                if(valid_extensionsVideo.test(filename)){

                    uploadObj.startUpload();
                    $('#fileprogress').show();                  
                    }

                    else{

            var preview = document.querySelector('#imagepreview');


            var file = files[0];
            var reader  = new FileReader();
            reader.addEventListener("load", function () { 
            preview.src = reader.result;
            var canvasImageReady= $('#imagepreview').attr('src');

             CANVAS_IMG = canvasImageReady;
             set_my_image(CANVAS_IMG);

            $('#modalurl')[0].click();   
            }, false);

            if (file) {
                reader.readAsDataURL(file);
                }

                    }


             //to allow file submission.
        uploadObj.reset();

        return true;
            },

默认情况下,我已将autoSubmit更改为false,因此当我选择图像文件时,它不会被上传只显示在弹出窗口中,我正在使用另一种将图像文件上传到服务器的方法。所以一切正常,但是当我上传视频而不是我选择的视频时,它会上传我之前选择的所有图像。

在选择每个文件后是否有办法重置uploadFile?

像:

files = ""; or something else

我尝试了reset()函数但仍无法正常工作,重置功能只是重置进度条。

还有另一个问题,当我选择视频时,首先没有任何事情发生,只有文件上传栏可见,当我重新选择视频再次上传作品,但再次使用旧图像,我只选择在弹出窗口中查看。

1 个答案:

答案 0 :(得分:0)

我在图片上传后添加了2个功能:

        uploadObj.cancelAll();
        uploadObj.reset();

通过使用CancelAll,它会重置所有待处理文件。由于重置用于重置进度条