Fractionner un fichier uploadé (slice/chrunk)

Nouveau WRInaute
Bonjour, sur mon site les visiteurs peuvent uploader des vidéos. J'aimerai fractionner en bloc de 10mo ces vidéo car mon serveur limite à 100mb les upload.

Voici mon script, je vois bien la fonction file.slice, mais je ne sais pas quoi rajouter pour segmenter l'upload en morceaux. Si vous avez des idée je vous en remerci.

Code:
        <script type="text/javascript">
        function checkuploadForm()
        {
            title = document.getElementById("video_title").value;
            tags = document.getElementById("tags").value;
            desc = document.getElementById("desc").value;
            category = document.getElementById("category").value;
            video_file = document.getElementById("video_file").value;
            
            if (title == "")
            {
                hideAllErrors();
                document.getElementById("titleError").style.display = "block";
                document.getElementById("video_title").select();
                document.getElementById("video_title").focus();
                return false;
            }
            else if (desc == "")
            {
                hideAllErrors();
                document.getElementById("descError").style.display = "block";
                document.getElementById("desc").select();
                document.getElementById("desc").focus();
                return false;
            }
            else if (tags == "")
            {
                hideAllErrors();
                document.getElementById("tagsError").style.display = "block";
                document.getElementById("tags").select();
                document.getElementById("tags").focus();
                return false;
            }
            else if (category == "0")
            {
                hideAllErrors();
                document.getElementById("categoryError").style.display = "block";
                return false;
            }
            else if (video_file == "")
            {
                hideAllErrors();
                document.getElementById("video_fileError").style.display = "block";
                return false;
            }
            else if (video_file != "")
            {
                if (LimitAttach("upload_form", video_file))
                {
                    return true;
                }
                else
                return false;
            }
            
            return true;
        }
        
        function LimitAttach(form, file)
        {
            extArray = new Array(".avi", ".mpg", ".mov", ".asf", ".mpeg", ".xvid", ".divx", ".3gp", ".mkv", ".3gpp", ".mp4", ".rmvb", ".rm", ".dat", ".wmv", ".flv", ".ogg");
            allowSubmit = false;
            if (!file) return;
            while (file.indexOf("\\") != -1)
            file = file.slice(file.indexOf("\\") + 1);
            ext = file.slice(file.lastIndexOf(".")).toLowerCase();
            for (var i = 0; i < extArray.length; i++) {
            if (extArray[i] == ext) { allowSubmit = true; break; }
            }
            if (allowSubmit) return true;
            else
            alert("{/literal}{$lang399}{literal}  "
            + (extArray.join("  ")) + "\n{/literal}{$lang398}{literal}");
            return false;
        }
        
        function hideAllErrors()
        {
            document.getElementById("titleError").style.display = "none";
            document.getElementById("tagsError").style.display = "none";
            document.getElementById("descError").style.display = "none";
            document.getElementById("categoryError").style.display = "none";
            document.getElementById("video_fileError").style.display = "none";
            document.getElementById("smsg").style.display = "none";
        }
        
        function uploadPreCheck()
        {
            if (checkuploadForm())
            {       
                hideAllErrors();
                jQuery('#upload_form').submit();
            }
            else
            return false;
        }
        </script>
 
WRInaute impliqué
Discussions similaires
Haut