Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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
Javascript 使用Iframe for IE通过进程栏上传文件_Javascript_Html_Ajax_Iframe_File Upload - Fatal编程技术网

Javascript 使用Iframe for IE通过进程栏上传文件

Javascript 使用Iframe for IE通过进程栏上传文件,javascript,html,ajax,iframe,file-upload,Javascript,Html,Ajax,Iframe,File Upload,我编写了代码,使用Iframe上传IE文件。 上传完毕。但是我想要一个进程条,但我不知道该怎么办,请帮忙 function fileUpload(form, action_url, div_id) { // Create the iframe... var iframe = document.createElement("iframe"); iframe.setAttribute("id", "upload_i

我编写了代码,使用Iframe上传IE文件。 上传完毕。但是我想要一个进程条,但我不知道该怎么办,请帮忙

       function fileUpload(form, action_url, div_id) {
            // Create the iframe...
            var iframe = document.createElement("iframe");
            iframe.setAttribute("id", "upload_iframe");
            iframe.setAttribute("name", "upload_iframe");
            iframe.setAttribute("width", "0");
            iframe.setAttribute("height", "0");
            iframe.setAttribute("border", "0");
            iframe.setAttribute("style", "width: 0; height: 0; border: none;");
            //target = "#fileIframe"
            // Add to document...
            form.parentNode.appendChild(iframe);
            window.frames['upload_iframe'].name = "upload_iframe";

            iframeId = document.getElementById("upload_iframe");

            // Add event...
            var eventHandler = function () {

                if (iframeId.detachEvent) {
                    iframeId.detachEvent("onload", eventHandler);
    //                $('#progressNumber').text("100%");
                }
                else iframeId.removeEventListener("load", eventHandler, false);
                //            if (iframeId.addEventListener) iframeId.removeEventListener("progress", uploadProgress1, false);
                // Message from server...
                if (iframeId.contentDocument) {
                    content = iframeId.contentDocument.body.innerHTML;
                } else if (iframeId.contentWindow) {
                    content = iframeId.contentWindow.document.body.innerHTML;
                } else if (iframeId.document) {
                    content = iframeId.document.body.innerHTML;
                }

                document.getElementById(div_id).innerHTML = content;

                // Del the iframe...
                setTimeout('iframeId.parentNode.removeChild(iframeId)', 250);
            }

            if (iframeId.addEventListener) {
                iframeId.addEventListener("load", eventHandler, true);
              //  $('#progressNumber').text("Processing...");
            }
            if (iframeId.attachEvent) iframeId.attachEvent("onload", eventHandler);

            // Set properties of form...
            form.setAttribute("target", "upload_iframe");
            form.setAttribute("action", action_url);
            form.setAttribute("method", "post");
            form.setAttribute("enctype", "multipart/form-data");
            form.setAttribute("encoding", "multipart/form-data");
            // Submit the form...
            form.submit();

            document.getElementById(div_id).innerHTML = "Uploading...";
        }
        function fileSelectedIE() {
            var fullname = $('#fileToUpload').val().toString();
            var IndexExt = fullname.lastIndexOf(".");
            var ext = fullname.substr(IndexExt + 1).toString();
            var IndexFileName = fullname.lastIndexOf("\\");
            var FileName = fullname.substring(IndexFileName+1, IndexExt).toString();
            document.getElementById('fileName').innerHTML = 'Name: ' + FileName;
            document.getElementById('fileSize').innerHTML = 'Size: Not Support';
            document.getElementById('fileType').innerHTML = 'Type: ' + ext;
        }
    <input type="file" name="fileToUpload[]" id="fileToUpload" onchange="fileSelectedIE()" /></br>


    <input type="button" value="upload" onClick="fileUpload(this.form,'UploadHandler.ashx','upload'); return false;"/>
 <div id="fileName">
    </div>
    <div id="fileSize">
    </div>
    <div id="fileType">
    </div>
    <div id="progressNumber">
    </div>
函数文件上传(表单、操作url、分区id){
//创建iframe。。。
var iframe=document.createElement(“iframe”);
setAttribute(“id”,“upload_iframe”);
setAttribute(“名称”、“上传iframe”);
iframe.setAttribute(“宽度”、“0”);
iframe.setAttribute(“高度”、“0”);
iframe.setAttribute(“边框”、“0”);
setAttribute(“样式”,“宽度:0;高度:0;边框:无;”;
//target=“#fileIframe”
//添加到文档。。。
form.parentNode.appendChild(iframe);
window.frames['upload\u iframe'].name=“upload\u iframe”;
iframeId=document.getElementById(“上传iframe”);
//添加事件。。。
var eventHandler=函数(){
if(iframeId.detachEvent){
detachEvent(“onload”,eventHandler);
//$('#progressNumber')。文本(“100%”;
}
else iframeId.removeEventListener(“加载”,eventHandler,false);
//if(iframeId.addEventListener)iframeId.removeEventListener(“进度”,uploadProgress1,false);
//来自服务器的消息。。。
if(iframeId.contentDocument){
content=iframeId.contentDocument.body.innerHTML;
}else if(iframeId.contentWindow){
content=iframeId.contentWindow.document.body.innerHTML;
}else if(iframeId.document){
content=iframeId.document.body.innerHTML;
}
getElementById(div_id).innerHTML=content;
//删除iframe。。。
setTimeout('iframeId.parentNode.removeChild(iframeId)'250);
}
if(iframeId.addEventListener){
iframeId.addEventListener(“加载”,eventHandler,true);
//$('#progressNumber')。文本(“处理…”);
}
if(iframeId.attachEvent)iframeId.attachEvent(“onload”,eventHandler);
//设置窗体的属性。。。
form.setAttribute(“target”、“upload_iframe”);
form.setAttribute(“action”,action\u url);
form.setAttribute(“方法”、“帖子”);
setAttribute(“enctype”、“多部分/表单数据”);
setAttribute(“编码”、“多部分/表单数据”);
//提交表格。。。
表单提交();
document.getElementById(div_id).innerHTML=“上传…”;
}
函数fileSelectedIE(){
var fullname=$('#fileToUpload').val().toString();
var IndexExt=fullname.lastIndexOf(“.”);
var ext=fullname.substr(IndexExt+1.toString();
var IndexFileName=fullname.lastIndexOf(“\\”);
var FileName=fullname.substring(IndexFileName+1,IndexExt).toString();
document.getElementById('fileName')。innerHTML='Name:'+fileName;
document.getElementById('fileSize')。innerHTML='Size:不支持';
document.getElementById('fileType')。innerHTML='Type:'+ext;
}


上载文件时如何创建进程栏?

在支持文件API的用户代理中跟踪文件上载进度非常容易。不幸的是,IE9和更早的版本没有。如果没有文件API支持,您将无法(轻松)跟踪文件上载进度。从理论上讲,可以通过nginx或apache的FileUpload模块实现。这在我维护的javascript上传程序中有更详细的介绍