HTML教程:类型File的Input按钮功能研究

HTML教程:类型File的Input按钮功能研究,第1张

概述在一些网站进行上传时,当单击了“浏览”按钮之后会d出【选择文件】的对话框。很多时候我们需要只上传图像文件,那么在d出的【选择文件】对话框中只显示了相关图片格式的文件,此外其余格式文件一律过滤不被显示。比如 http://www.youku.com/v1.0.0326/v/swf/up.swf 这是优酷的视频上传…

在一些网站进行上传时,当单击了“浏览”按钮之后会d出【选择文件】的对话框。很多时候我们需要只上传图像文件,那么在d出的【选择文件】对话框中只显示了相关图片格式的文件,此外其余格式文件一律过滤不被显示。

比如 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">能不能也实现d出窗口限制文件类型呢?

现在的解决方法只能是通过监测来提醒用户上传文件的格式不正确

<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:"+af);obj.createTextRange().execCommand('delete')};
}}
</script>
<form>
<input type=file name=path onpropertychange="ck(this)"/></form>

不过这种效果显然没有FLASH的用户体验好。有必要对这类FLASH上传关注一下了。

总结

以上是内存溢出为你收集整理的HTML教程:类型File的Input按钮功能研究全部内容,希望文章能够帮你解决HTML教程:类型File的Input按钮功能研究所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1023869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存