JavaScript实现拖拽预览,AJAX小文件上传

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post">

<p><strong>本地上传,提前预览(图片,视频)</strong></p>
<p>1.html中div标签预览显示,button标签触发上传事件。</p>
<p></p>
<div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" οnclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" οnclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 465px; top: 564px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" name="ZeroClipboardMovie_1" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&amp;width=18&amp;height=18" wmode="transparent" width="18" height="18" align="middle"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" οnclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" οnclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"drop_area"</span><span>&nbsp;</span><span class="attribute">style</span><span>=</span><span class="attribute-value">"border:3px&nbsp;dashed&nbsp;silver;width:200px;&nbsp;height:200px"</span><span class="tag">&gt;</span><span>将图片拖拽到此</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class=""><span><span class="tag">&lt;</span><span class="tag-name">button</span><span>&nbsp;</span><span class="attribute">onclick</span><span>=</span><span class="attribute-value">"xhr2()"</span><span class="tag">&gt;</span><span>ajax上传</span><span class="tag">&lt;/</span><span class="tag-name">button</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li></ol></div><pre name="code" class="html" style="display: none;">&lt;div  id="drop_area" style="border:3px dashed silver;width:200px; height:200px"&gt;将图片拖拽到此&lt;/div&gt;
&lt;button οnclick="xhr2()"&gt;ajax上传&lt;/button&gt;</pre><br>
2.禁止浏览器打开文件行为<br>
<p></p>
<p></p>
<div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" οnclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" οnclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 465px; top: 739px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" name="ZeroClipboardMovie_2" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&amp;width=18&amp;height=18" wmode="transparent" width="18" height="18" align="middle"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" οnclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" οnclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>document.addEventListener("drop",function(e){&nbsp;&nbsp;//拖离&nbsp;&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>})&nbsp;&nbsp;</span></li><li class=""><span>document.addEventListener("dragleave",function(e){&nbsp;&nbsp;//拖后放&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>})&nbsp;&nbsp;</span></li><li class="alt"><span>document.addEventListener("dragenter",function(e){&nbsp;&nbsp;//拖进&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>})&nbsp;&nbsp;</span></li><li class=""><span>document.addEventListener("dragover",function(e){&nbsp;&nbsp;//拖来拖去&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>})&nbsp;&nbsp;</span></li></ol></div><pre name="code" class="html" style="display: none;">document.addEventListener("drop",function(e){  //拖离
    e.preventDefault();    
})
document.addEventListener("dragleave",function(e){  //拖后放
    e.preventDefault();    
})
document.addEventListener("dragenter",function(e){  //拖进
    e.preventDefault();    
})
document.addEventListener("dragover",function(e){  //拖来拖去  
    e.preventDefault();    
})</pre>
<p><br>
</p>
3.拖拽,预览文件
<p></p>
<p></p>
<div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" οnclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" οnclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 465px; top: 1094px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" name="ZeroClipboardMovie_3" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&amp;width=18&amp;height=18" wmode="transparent" width="18" height="18" align="middle"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" οnclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" οnclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>var&nbsp;</span><span class="attribute">box</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">document</span><span>.getElementById('drop_area');&nbsp;//拖拽区域&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class=""><span>box.addEventListener("drop",function(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">fileList</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">e</span><span>.dataTransfer.files;&nbsp;//获取文件对象&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;//检测是否是拖拽文件到页面的操作&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;if(<span class="attribute">fileList.length</span><span>&nbsp;==&nbsp;0){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;//拖拉图片到浏览器,可以实现预览功能&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//规定视频格式&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">Array.prototype.S</span><span>=</span><span class="attribute-value">String</span><span>.fromCharCode(2);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">Array.prototype.in_array</span><span>=</span><span class="attribute-value">function</span><span>(e){&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">r</span><span>=</span><span class="attribute-value">new</span><span>&nbsp;RegExp(this.S+e+this.S);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(r.test(this.S+this.join(this.S)+this.S));&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">video_type</span><span>=["video/mp4","video/ogg"];&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//创建一个url连接,供src属性引用&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">fileurl</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">window</span><span>.URL.createObjectURL(fileList[0]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;if(fileList[0].type.indexOf('image')&nbsp;===&nbsp;0){&nbsp;&nbsp;//如果是图片&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">str</span><span>=</span><span class="attribute-value">"&lt;img&nbsp;width='200px'&nbsp;height='200px'&nbsp;src='"</span><span>+fileurl+"'</span><span class="tag">&gt;</span><span>";&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('drop_area')<span class="attribute">.innerHTML</span><span>=</span><span class="attribute-value">str</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(video_type.in_array(fileList[0].type)){&nbsp;&nbsp;&nbsp;//如果是规定格式内的视频&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">str</span><span>=</span><span class="attribute-value">"&lt;video&nbsp;width='200px'&nbsp;height='200px'&nbsp;controls='controls'&nbsp;src='"</span><span>+fileurl+"'</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">video</span><span class="tag">&gt;</span><span>";&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('drop_area')<span class="attribute">.innerHTML</span><span>=</span><span class="attribute-value">str</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;//其他格式,输出文件名&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//alert("不预览");&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">str</span><span>=</span><span class="attribute-value">"文件名字:"</span><span>+fileList[0].name;&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('drop_area')<span class="attribute">.innerHTML</span><span>=</span><span class="attribute-value">str</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">resultfile</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">fileList</span><span>[0];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>},false);&nbsp;&nbsp;</span></li></ol></div><pre name="code" class="html" style="display: none;">var box = document.getElementById('drop_area'); //拖拽区域   
box.addEventListener("drop",function(e){         
    var fileList = e.dataTransfer.files; //获取文件对象  
    //检测是否是拖拽文件到页面的操作          
    if(fileList.length == 0){              
        return false;          
    }           
    //拖拉图片到浏览器,可以实现预览功能  
    //规定视频格式
    Array.prototype.S=String.fromCharCode(2);
    Array.prototype.in_array=function(e){
        var r=new RegExp(this.S+e+this.S);
        return (r.test(this.S+this.join(this.S)+this.S));
    };
    var video_type=["video/mp4","video/ogg"];
    
    //创建一个url连接,供src属性引用
    var fileurl = window.URL.createObjectURL(fileList[0]);               
    if(fileList[0].type.indexOf('image') === 0){  //如果是图片
        var str="&lt;img width='200px' height='200px' src='"+fileurl+"'&gt;";
        document.getElementById('drop_area').innerHTML=str;                 
    }else if(video_type.in_array(fileList[0].type)){   //如果是规定格式内的视频                  
        var str="&lt;video width='200px' height='200px' controls='controls' src='"+fileurl+"'&gt;&lt;/video&gt;";
        document.getElementById('drop_area').innerHTML=str;      
    }else{ //其他格式,输出文件名
        //alert("不预览");
        var str="文件名字:"+fileList[0].name;
        document.getElementById('drop_area').innerHTML=str;    
    }        
    resultfile = fileList[0];            
},false);</pre><br>
4.ajax上传
<p></p>
<p></p>
<div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" οnclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" οnclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 465px; top: 1791px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_4" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" name="ZeroClipboardMovie_4" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&amp;width=18&amp;height=18" wmode="transparent" width="18" height="18" align="middle"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" οnclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" οnclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>function&nbsp;xhr2(){&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">xhr</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">new</span><span>&nbsp;XMLHttpRequest();//第一步&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//新建一个FormData对象&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;<span class="attribute">formData</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">new</span><span>&nbsp;FormData();&nbsp;//++++++++++&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//追加文件数据&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;formData.append('file',&nbsp;resultfile);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//post方式&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;xhr.open('POST',&nbsp;'xhr2.php');&nbsp;//第二步骤&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//发送请求&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;xhr.send(formData);&nbsp;&nbsp;//第三步骤&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//ajax返回&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">xhr.onreadystatechange</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">function</span><span>(){&nbsp;//第四步&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#12288;&#12288;&#12288;&#12288;if&nbsp;(&nbsp;<span class="attribute">xhr.readyState</span><span>&nbsp;==&nbsp;4&nbsp;&amp;&amp;&nbsp;</span><span class="attribute">xhr.status</span><span>&nbsp;==&nbsp;200&nbsp;)&nbsp;{&nbsp;&nbsp;</span></span></li><li class=""><span>&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;console.log(&nbsp;xhr.responseText&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&#12288;&#12288;&#12288;&#12288;}&nbsp;&nbsp;</span></li><li class=""><span>&#12288;&#12288;};&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;//设置超时时间&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">xhr.timeout</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">10000</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">xhr.ontimeout</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">function</span><span>(event){&nbsp;&nbsp;</span></span></li><li class=""><span>&#12288;&#12288;&#12288;&#12288;alert('请求超时!');&nbsp;&nbsp;</span></li><li class="alt"><span>&#12288;&#12288;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>}&nbsp;&nbsp;</span></li></ol></div><pre name="code" class="html" style="display: none;">function xhr2(){
    var xhr = new XMLHttpRequest();//第一步
    //新建一个FormData对象
    var formData = new FormData(); //++++++++++
    //追加文件数据
    formData.append('file', resultfile);
    //post方式
    xhr.open('POST', 'xhr2.php'); //第二步骤
    //发送请求
    xhr.send(formData);  //第三步骤
    //ajax返回
    xhr.onreadystatechange = function(){ //第四步
&#12288;&#12288;&#12288;&#12288;if ( xhr.readyState == 4 &amp;&amp; xhr.status == 200 ) {
&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;console.log( xhr.responseText );        
&#12288;&#12288;&#12288;&#12288;}
&#12288;&#12288;};
    //设置超时时间
    xhr.timeout = 10000;
    xhr.ontimeout = function(event){
&#12288;&#12288;&#12288;&#12288;alert('请求超时!');
&#12288;&#12288;}            
}</pre><br>
5.php保存文件
<p></p>
<p></p>
<div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" οnclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" οnclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 465px; top: 2326px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_5" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" name="ZeroClipboardMovie_5" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=5&amp;width=18&amp;height=18" wmode="transparent" width="18" height="18" align="middle"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" οnclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" οnclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">php</span><span>&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;print_r($_FILES["file"]);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;$<span class="attribute">name</span><span>&nbsp;=&nbsp;$_FILES["file"]["name"];&nbsp;//中文可能乱码使用iconv函数&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;move_uploaded_file($_FILES["file"]["tmp_name"],iconv("UTF-8","gb2312",$name));&nbsp;&nbsp;</span></li><li class="alt"><span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li></ol></div><pre name="code" class="html" style="display: none;">&lt;?php
    print_r($_FILES["file"]);
    $name = $_FILES["file"]["name"]; //中文可能乱码使用iconv函数
    move_uploaded_file($_FILES["file"]["tmp_name"],iconv("UTF-8","gb2312",$name));
?&gt;</pre><br>
<br>
<p></p>
<p><br>
</p>
   
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值