<br>在一些网站进行上传时,当单击了“浏览”按钮之后会弹出【选择文件】的对话框。很多时候我们需要只上传图像文件,那么在弹出的【选择文件】对话框中只显示了相关图片格式的文件,此外其余格式文件一律过滤不被显示。 <br>比如 http://www.youku.com/v1.0.0326/v/swf/up.swf <br>这是优酷的视频上传选择,其是通过FLASH的方法来实现了不显示非视频类文件。 <br>FLASH到这种效果一般也就是如这里所描述的 <br>import flash.net.FileReferenceList;<br>var fileRef:FileReferenceList = new FileReferenceList();<br>var allTypes:Array = [];<br>var 浏览类型:Object = new Object();<br>浏览类型.description = "浏览类型(*.mp3)";<br>浏览类型.extension = "*.mp3";<br>allTypes.push(浏览类型);<br>fileRef.browse(allTypes); <br>所以针对我们的网页中<input type="File">能不能也实现弹出窗口限制文件类型呢? <br>现在的解决方法只能是通过监测来提醒用户上传文件的格式不正确 <br><script><br />function check(){<br />var filepath=path.value<br />filepath=filepath.substring(filepath.lastIndexOf('.') 1,filepath.length)<br />if(filepath != 'jpg' && filepath != 'gif')<br />alert("只能上传JPG或GIF格式的图片")<br />}<br /></script><br><input type="file" name="path" onpropertychange="check()"> (只能上传JPG或GIF格式的图片) <br><script><br />function ck(obj){if(obj.value.length>0){<br />var af="jpg,gif,png,zip,rar,txt,htm";<br />if(eval("with(obj.value)if(!/" af.split(",").join("|") "/ig.test(substring(lastIndexOf('.') 1,length)))1;")){alert("Allowed file types:\n" af);obj.createTextRange().execCommand('delete')};<br />}}<br /></script><br><form> <br><input type="file" name="path" onpropertychange="ck(this)"> </form> <br>不过这种效果显然没有FLASH的用户体验好。有必要对这类FLASH上传关注一下了。