在一些网站举办上传时,当单击了“赏识”按钮之后会弹出【选择文件】的对话框。许多时辰我们必要只上传图像文件,那么在弹出的【选择文件】对话框中只表现了相干图片名目标文件,另外别的名目文件一致过滤不被表现。
好比 http://www.youku.com/v1.0.0326/v/swf/up.swf
这是优酷的视频上传选择,其是通过FLASH的要领来实现了不表现非视频类文件。
FLASH到这种结果一样平常也就是如这里所描写的
import flash.net.FileReferenceList; var fileRef:FileReferenceList = new FileReferenceList(); var allTypes:Array = []; var 赏识范例:Object = new Object(); 赏识范例.description = "赏识范例(*.mp3)"; 赏识范例.extension = "*.mp3"; allTypes.push(赏识范例); fileRef.browse(allTypes);
以是针对我们的网页中<input type="File">能不能也实现弹出窗口限定文件范例呢?
此刻的办理要领只能是通过监测来提示用户上传文件的名目不正确
<script> function check(){ var filepath=path.value filepath=filepath.substring(filepath.lastIndexOf('.')+1,filepath.length) if(filepath != 'jpg' && filepath != 'gif') alert("只能上传JPG或GIF名目标图片") } </script> <input type=file name=path onpropertychange="check()"> (只能上传JPG或GIF名目标图片)
<script> function ck(obj){if(obj.value.length>0){ var af="jpg,gif,png,zip,rar,txt,htm"; 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')}; }} </script> <form> <input type=file name=path onpropertychange="ck(this)"/></form>
不外这种结果显然没有FLASH的用户体验好。有须要对这类FLASH上传存眷一下了。 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|