<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>最优良人 &#187; file</title>
	<atom:link href="http://www.zui88.com/view-tag/file/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zui88.com/blog</link>
	<description>中山php&#124;最优网络</description>
	<lastBuildDate>Mon, 13 May 2013 04:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>JS获取file上传文件路径，后缀，大小，文件名</title>
		<link>http://www.zui88.com/blog/view-394.html</link>
		<comments>http://www.zui88.com/blog/view-394.html#comments</comments>
		<pubDate>Thu, 16 Aug 2012 03:58:23 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=394</guid>
		<description><![CDATA[/** *函数描述：获取input type=file的图像全路径 * @obj input type=file的对象 **/ function getFullPath(obj) { if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")&#62;=1) { obj.select(); return document.selection.createRange().text; } //firefox else if(window.navigator.userAgent.indexOf("Firefox")&#62;=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } &#160; &#60;input type="file" onchange="document.getElementById('img').src=getFullPath(this);" &#62; &#160; ========================================================================= &#160; &#160; #判断IE还是Firefox function getFullPath(obj) { if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")&#62;=1) [...]]]></description>
			<content:encoded><![CDATA[<p>/**<br />
*函数描述：获取input type=file的图像全路径<br />
* @obj  input type=file的对象<br />
**/<br />
function getFullPath(obj)<br />
{<br />
if(obj)<br />
{<br />
//ie<br />
if (window.navigator.userAgent.indexOf("MSIE")&gt;=1)<br />
{<br />
obj.select();<br />
return document.selection.createRange().text;<br />
}<br />
//firefox<br />
else if(window.navigator.userAgent.indexOf("Firefox")&gt;=1)<br />
{<br />
if(obj.files)<br />
{<br />
return obj.files.item(0).getAsDataURL();<br />
}<br />
return obj.value;<br />
}<br />
return obj.value;<br />
}<br />
}</p>
<p>&nbsp;</p>
<p>&lt;input type="file"  onchange="document.getElementById('img').src=getFullPath(this);"  &gt;</p>
<p>&nbsp;</p>
<p>=========================================================================</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断IE还是Firefox</p>
<p>function getFullPath(obj)</p>
<p>{</p>
<p>if(obj)</p>
<p>{</p>
<p>//ie</p>
<p>if (window.navigator.userAgent.indexOf("MSIE")&gt;=1)</p>
<p>{</p>
<p>obj.select();</p>
<p>return document.selection.createRange().text;</p>
<p>}</p>
<p>//firefox</p>
<p>else if(window.navigator.userAgent.indexOf("Firefox")&gt;=1)</p>
<p>{</p>
<p>if(obj.files)</p>
<p>{</p>
<p>return obj.files.item(0).getAsDataURL();</p>
<p>}</p>
<p>return obj.value;</p>
<p>}</p>
<p>return obj.value;</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断后缀名</p>
<p>function yulan(){</p>
<p>var filePath =getFullPath(document.getElementById('UpFile'));</p>
<p>var fileText =filePath.substring(filePath.lastIndexOf("."),filePath.length);</p>
<p>var fileName =fileText.toLowerCase();</p>
<p>if  ((fileName!='.jpg')&amp;&amp;(fileName!='.gif')&amp;&amp;(fileName!='.jpeg')&amp;&amp;(fileName!='.png')&amp;&amp;(fileName!='.bmp'))</p>
<p>{</p>
<p>alert("对不起，系统仅支持标准格式的照片，请您调整格式后重新上传，谢谢 ！");</p>
<p>document.form1.UpFile.focus();</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>document.getElementById("preview").innerHTML="&lt;img  src='"+getFullPath(document.getElementById('UpFile'))+"' width=120  style='border:6px double #ccc'&gt;";</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断文件大小</p>
<p>var  Sys = {};</p>
<p>if(navigator.userAgent.indexOf("MSIE")&gt;0) {</p>
<p>Sys.ie=true;</p>
<p>}</p>
<p>if(isFirefox=navigator.userAgent.indexOf("Firefox")&gt;0){</p>
<p>Sys.firefox=true;</p>
<p>}</p>
<p>&nbsp;</p>
<p>var maxLength = 5*1024*1024;</p>
<p>&nbsp;</p>
<p>function checkFileChange(obj) {</p>
<p>var filesize = 0;</p>
<p>if(Sys.firefox){</p>
<p>filesize = obj.files[0].fileSize;</p>
<p>}else if(Sys.ie){</p>
<p>var filePath = obj.value;</p>
<p>var image=new Image();</p>
<p>image.src=filePath;</p>
<p>filesize=image.fileSize;</p>
<p>}</p>
<p>alert(filesize);</p>
<p>}</p>
<p>获取文件名</p>
<p>firefox的input表单的value值默认就可以获取到文件名，而ie 则显示文件路径。</p>
<p>所以要区别对待，在firefox下 lastIndexOf('/')得到的是-1，而在ie下，目录显示的又是反斜杠，\，当然在Linux<br />
下，其他浏览器获取到的又是正斜杠 / （ 暂时未证明有Linux下有浏览器file获取到的值会是全路径）；<img src="http://hiphotos.baidu.com/smallchicken/pic/item/8bd5db8b0060223cc9fc7a07.jpg" alt="" /><br />
得用两次判断：</p>
<p>function getFileName(path){<br />
var pos1 = path.lastIndexOf('/');<br />
var pos2 = path.lastIndexOf('\\');<br />
var pos  = Math.max(pos1, pos2)<br />
if( pos&lt;0 )<br />
return path;<br />
else<br />
return path.substring(pos+1);<br />
}</p>
<p>返回不带后缀的文件名</p>
<p>return name.substring(0,name.lastIndexOf('.'));</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-394.html/feed</wfw:commentRss>
		<slash:comments>184</slash:comments>
		</item>
	</channel>
</rss>
