Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用html5上传器上传大文件_Html_Upload_Wamp - Fatal编程技术网

使用html5上传器上传大文件

使用html5上传器上传大文件,html,upload,wamp,Html,Upload,Wamp,我的问题是我需要上传大的视频文件,但不是那么大。比如100~500mb。有70mb的视频我可以做到。当我试图上传一个大文件时,firefox崩溃并关闭。铬也是如此。我正在使用html5uploader.js /* *使用HTML 5将文件上载到服务器拖放本地计算机上的文件夹 *测试版本:Mozilla Firefox 3.6.12、Google Chrome 7.0.517.41、Safari 5.0.2、WebKit r70732 *当前版本不适用于:Opera 10.63、Opera 11

我的问题是我需要上传大的视频文件,但不是那么大。比如100~500mb。有70mb的视频我可以做到。当我试图上传一个大文件时,firefox崩溃并关闭。铬也是如此。我正在使用html5uploader.js

/* *使用HTML 5将文件上载到服务器拖放本地计算机上的文件夹 *测试版本:Mozilla Firefox 3.6.12、Google Chrome 7.0.517.41、Safari 5.0.2、WebKit r70732 *当前版本不适用于:Opera 10.63、Opera 11 alpha、IE 6+。 */

函数上传器(位置、状态、targetPHP、显示){

//body+=“内容处理:表单数据;name='upload';filename='”+file.name+“\r\n”;
body+=“内容处置:表单数据;name='upload';filename='”+encodeURI(file.name)+“'\r\n”; 正文+=“内容类型:”+file.Type+“\r\n\r\n”;
正文+=bin+“\r\n”;
正文+='-'+边界+'-';
setRequestHeader('content-type','multipart/form数据;boundary='+boundary); //Firefox 3.6提供了sendAsBinary()功能 如果(xhr.sendAsBinary!=null){ xhr.sendAsBinary(主体); //Chrome7发送数据,但必须在PHP端使用base64_解码 }否则{ xhr.open('POST',targetPHP+'?up=true&base64=true',true); setRequestHeader('UP-FILENAME',file.name); setRequestHeader('UP-SIZE',file.SIZE); setRequestHeader('UP-TYPE',file.TYPE); xhr.send(window.btoa(bin)); } 如果(显示){ var newFile=document.createElement('div'); tamanho=((file.size)/1024)/1024); tamanhoMB=tamanho.toFixed(2); newFile.innerHTML='Nome do arquivo:'+file.name+'| Tamanho:'+tamanhoMB+'MB'; document.getElementById(show).appendChild(newFile);
} 如果(状态){ document.getElementById(status.innerHTML='Upload concliído!Arraste o próximo arquivo'; } };

        // Loading errors
        this.loadError = function(event) {
            switch(event.target.error.code) {
                case event.target.error.NOT_FOUND_ERR:
                    document.getElementById(status).innerHTML = '<h4>Arquivo não encontrado!</h4>';
                break;
                case event.target.error.NOT_READABLE_ERR:
                    document.getElementById(status).innerHTML = '<h4>Arquivo não legível!</h4>';
                break;
                case event.target.error.ABORT_ERR:
                break; 
                default:
                    document.getElementById(status).innerHTML = '<h4>Erro de leitura.</h4>';
            }   
        };

        // Reading Progress
        this.loadProgress = function(event) {
            if (event.lengthComputable) {
                var percentage = Math.round((event.loaded * 100) / event.total);
                document.getElementById(status).innerHTML = '<h4>Carregando... '+percentage+'%</h4>';
            }               
        };

        // Preview images
        this.previewNow = function(event) { 
            bin = preview.result;
            var img = document.createElement("img"); 
            img.className = 'addedIMG';
            img.file = file;   
            img.src = bin;
            document.getElementById(show).appendChild(img);
        };

    reader = new FileReader();
    // Firefox 3.6, WebKit
    if(reader.addEventListener) { 
        reader.addEventListener('loadend', this.loadEnd, false);
        if (status != null) 
        {
            reader.addEventListener('error', this.loadError, false);
            reader.addEventListener('progress', this.loadProgress, false);
        }

    // Chrome 7
    } else { 
        reader.onloadend = this.loadEnd;
        if (status != null) 
        {
            reader.onerror = this.loadError;
            reader.onprogress = this.loadProgress;
        }
    }
    var preview = new FileReader();
    // Firefox 3.6, WebKit
    if(preview.addEventListener) { 
        preview.addEventListener('loadend', this.previewNow, false);
    // Chrome 7 
    } else { 
        preview.onloadend = this.previewNow;
    }

    // The function that starts reading the file as a binary string
    reader.readAsBinaryString(file);

    // Preview uploaded files
    if (show) {
        preview.readAsDataURL(file);
    }

    // Safari 5 does not support FileReader
    } else {
        xhr = new XMLHttpRequest();
        xhr.open('POST', targetPHP+'?up=true', true);
        xhr.setRequestHeader('UP-FILENAME', file.name);
        xhr.setRequestHeader('UP-SIZE', file.size);
        xhr.setRequestHeader('UP-TYPE', file.type);
        xhr.send(file); 

        if (status) {
            document.getElementById(status).innerHTML = '100% carregado';
        }
        if (show) {
            var newFile  = document.createElement('div');
            newFile.innerHTML = file.name+' (Tamanho: '+file.size+' Bytes)';
            document.getElementById(show).appendChild(newFile);
        }   
    }               
};

// Function drop file
this.drop = function(event) {
    event.preventDefault();
    var dt = event.dataTransfer;
    var files = dt.files;
        if (files.length<=2){
            for (var i = 0; i<files.length; i++) {
                var file = files[i];
                upload(file);
            }
        }else{
            alert('Limite de upload excedido! Máximo permitido: dois arquivos.');
        }
};

// The inclusion of the event listeners (DragOver and drop)

this.uploadPlace =  document.getElementById(place);
this.uploadPlace.addEventListener("dragover", function(event) {
    event.stopPropagation(); 
    event.preventDefault();
}, true);
this.uploadPlace.addEventListener("drop", this.drop, false); 
重新启动wamp,不起作用。在wamp\bin\apache\Apache2.2.17\conf\extra\httpd-vhosts.conf上,我放置了以下内容:


LimitRequestBody 102400
选项索引如下SYMLINKS包括ExecCGI
允许超越所有
命令允许,拒绝
通融

也没用。有人有办法救我吗?我真的很感激。谢谢

        // Loading errors
        this.loadError = function(event) {
            switch(event.target.error.code) {
                case event.target.error.NOT_FOUND_ERR:
                    document.getElementById(status).innerHTML = '<h4>Arquivo não encontrado!</h4>';
                break;
                case event.target.error.NOT_READABLE_ERR:
                    document.getElementById(status).innerHTML = '<h4>Arquivo não legível!</h4>';
                break;
                case event.target.error.ABORT_ERR:
                break; 
                default:
                    document.getElementById(status).innerHTML = '<h4>Erro de leitura.</h4>';
            }   
        };

        // Reading Progress
        this.loadProgress = function(event) {
            if (event.lengthComputable) {
                var percentage = Math.round((event.loaded * 100) / event.total);
                document.getElementById(status).innerHTML = '<h4>Carregando... '+percentage+'%</h4>';
            }               
        };

        // Preview images
        this.previewNow = function(event) { 
            bin = preview.result;
            var img = document.createElement("img"); 
            img.className = 'addedIMG';
            img.file = file;   
            img.src = bin;
            document.getElementById(show).appendChild(img);
        };

    reader = new FileReader();
    // Firefox 3.6, WebKit
    if(reader.addEventListener) { 
        reader.addEventListener('loadend', this.loadEnd, false);
        if (status != null) 
        {
            reader.addEventListener('error', this.loadError, false);
            reader.addEventListener('progress', this.loadProgress, false);
        }

    // Chrome 7
    } else { 
        reader.onloadend = this.loadEnd;
        if (status != null) 
        {
            reader.onerror = this.loadError;
            reader.onprogress = this.loadProgress;
        }
    }
    var preview = new FileReader();
    // Firefox 3.6, WebKit
    if(preview.addEventListener) { 
        preview.addEventListener('loadend', this.previewNow, false);
    // Chrome 7 
    } else { 
        preview.onloadend = this.previewNow;
    }

    // The function that starts reading the file as a binary string
    reader.readAsBinaryString(file);

    // Preview uploaded files
    if (show) {
        preview.readAsDataURL(file);
    }

    // Safari 5 does not support FileReader
    } else {
        xhr = new XMLHttpRequest();
        xhr.open('POST', targetPHP+'?up=true', true);
        xhr.setRequestHeader('UP-FILENAME', file.name);
        xhr.setRequestHeader('UP-SIZE', file.size);
        xhr.setRequestHeader('UP-TYPE', file.type);
        xhr.send(file); 

        if (status) {
            document.getElementById(status).innerHTML = '100% carregado';
        }
        if (show) {
            var newFile  = document.createElement('div');
            newFile.innerHTML = file.name+' (Tamanho: '+file.size+' Bytes)';
            document.getElementById(show).appendChild(newFile);
        }   
    }               
};

// Function drop file
this.drop = function(event) {
    event.preventDefault();
    var dt = event.dataTransfer;
    var files = dt.files;
        if (files.length<=2){
            for (var i = 0; i<files.length; i++) {
                var file = files[i];
                upload(file);
            }
        }else{
            alert('Limite de upload excedido! Máximo permitido: dois arquivos.');
        }
};

// The inclusion of the event listeners (DragOver and drop)

this.uploadPlace =  document.getElementById(place);
this.uploadPlace.addEventListener("dragover", function(event) {
    event.stopPropagation(); 
    event.preventDefault();
}, true);
this.uploadPlace.addEventListener("drop", this.drop, false); 
upload_max_filesize -> 1024mb, 
post_max_size -> 1024mb, 
max_execution_time -> 600, 
max_input_time -> 600,
memory_limit -> 2048mb.