<br />When uploading on some websites, a [Select File] dialog box will pop up after clicking the "Browse" button. Many times we need to upload only image files, then in the pop-up [Select File] dialog box only files of related image formats are displayed, and all other formats of files are filtered out and not displayed. For example, http://www.youku.com/v1.0.0326/v/swf/up.swf This is Youku's video upload option, which uses the FLASH method to prevent non-video files from being displayed. FLASH to this effect is generally as described here import flash.net.FileReferenceList; var fileRef:FileReferenceList = new FileReferenceList(); var allTypes:Array = []; var browse type:Object = new Object(); Browsing type.description = "Browsing type (*.mp3)"; Browse type.extension = "*.mp3"; allTypes.push(browse type); fileRef.browse(allTypes); So for the <input type="File"> in our web page, can we also implement a pop-up window to limit the file type? The current solution is to remind users that the format of the uploaded file is incorrect through monitoring. <script> function check(){ var filepath=path.value filepath=filepath.substring(filepath.lastIndexOf('.') 1,filepath.length) if(filepath != 'jpg' && filepath != 'gif') alert("Only JPG or GIF format images can be uploaded") } </script> <input type=file name=path onpropertychange="check()"> (Only JPG or GIF format images can be uploaded) <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> However, this effect is obviously not as good as the user experience of FLASH. It is necessary to pay attention to this type of FLASH upload. |
<<: Detailed explanation of DOM style setting in four react components
>>: MYSQL string forced conversion method example
Syntax composition: 1 Annotation information 2 Co...
Table of contents 1. What is recursion? 2. Solve ...
I have used the vi editor for several years, but ...
Install crontab yum install crontabs CentOS 7 com...
Download and install JDK Step 1: First download t...
Allow './' relative paths in docker-compo...
In the development process of Vue project, for th...
1. Delete file command: find the corresponding di...
Table of contents 1. Introduction to calculator f...
Effect html <body> <div class="cont...
Introduction There is no need to introduce Redis ...
MySQL's foreign key constraint is used to est...
When using HTML tables, we sometimes need to chan...
The ogg process of a database produced some time ...
Table of contents 1. Comments on MySQL primary ke...