Maison >interface Web >Tutoriel H5 >Partage de code graphique et texte HTML5 FileAPI
Dans HTML5, une API sur les opérations sur les fichiers est fournie. Grâce à cette API, le traitement associé à l'accès au système de fichiers local à partir de la page Web devient très simple. simple. Jusqu'à présent, seuls certains navigateurs le prennent en charge.
1.FileList objet et objet File
L'objet FileList représente une liste de fichiers sélectionnés par l'utilisateur , en HTML4, un seul fichier peut être placé dans le contrôle de fichier, mais en HTML5, plusieurs fichiers peuvent être placés dans le contrôle de fichier en ajoutant l'attribut multiple. Chaque fichier sélectionné par l'utilisateur dans le contrôle est un objet fichier et FileList est une liste de ces objets fichier, représentant tous les fichiers sélectionnés par l'utilisateur. L'objet fichier a deux attributs, l'un est name, ce qui signifie que le nom du fichier n'inclut pas le chemin du fichier ; l'autre est lastModifiedDate, ce qui signifie la date à laquelle le fichier a été modifié pour la dernière fois.
<!DOCTYPE html> <html> <head> <meta charset='UTF-8'/> <title>FileList and File </title> <script type="text/javascript" language="JavaScript"> function showFiles(){ var file, len = document.getElementById('file').files.length;//返回FileList文件列表对象 for (var i=0; i < len; i++) { file = document.getElementById('file').files[i]; alert(file.name); }; } </script> </head> <body> <input type="file" id='file' multiple="multiple" width="80px"/> <input type="button" id="bt1" value="click" onclick="showFiles();"/> </body> </html>
2. Objet Blob
En ce qui concerne les objets Blob, certaines personnes peuvent penser aux champs Blob dans OracleDB, qui ont une signification quelque peu similaire. Blob en HTML5 représente des données brutes binaires. Il fournit une méthode slice() grâce à laquelle vous pouvez accéder au bloc de données brutes à l'intérieur des octets. En fait, l'objet file mentionné ci-dessus hérite de l'objet Blob.
Deux attributs de l'objet Blob, size : représente la longueur en octets d'un objet. type : Représente le type MIME d'un objet. S'il s'agit d'un type inconnu, unechaîne vide est renvoyée.
function showFileInfo(){ var file = document.getElementById('file').files[0]; var size = document.getElementById('fileType'); var type = document.getElementById('fileSize'); size.innerHTML = file.size; type.innerHTML = file.type; }Pour les fichiers de type image, l'attribut type de l'objet Blob commence par image/. Cette fonctionnalité peut être utilisée pour déterminer le type de fichier sélectionné par l'utilisateur.
function showFileInfo(){ var file = document.getElementById('file').files[0]; if(checkImage(file)){ var size = document.getElementById('fileType'); var type = document.getElementById('fileSize'); size.innerHTML = file.size; type.innerHTML = file.type; } else{ return ; } } function checkImage(file){ if(!/img\/\w+/.test(file.type)){ alert(file.name + "不是图片"); return false; } return true; }De plus, le contrôle de fichiers ajoute l'attribut accept dans la norme HTML5 pour limiter les types de fichiers acceptés, mais actuellement la prise en charge de l'alignement de chaque navigateur est limitée à la sélection d'images par défaut lors de l'ouverture du fenêtre de sélection de fichier. C'est juste un fichier. Si vous choisissez d'autres types, le contrôle peut également l'accepter. 3.Interface FileReader 3.1 Méthodes d'interface L'interface FileReader propose quatre méthodes, dont 3 sont utilisées pour
lire des fichiers et 1 est utilisée pour interrompre la lecture du fichier.
方法名 | 参数 | 描述 |
readAsBinaryString() | file | 将文件读取为二进制字符串,通常将它传到后端,后端可以通过这段字符串存储文件 |
readAsDataURL() | file | 将文件读取为一段data url字符串,事实上是将小文件以一种特格式的URL地址直接读取到页面。小文件通常指图片与html等格式文件 |
readAsText() | file [encoding] | 将文件以文本的方式读取,其中第二个参数为文本的编码。 |
abort() | (none) | 中断读取操作。 |
事件 | 描述 |
onabort | 数据读取中断时发生 |
onerror | 数据读取出错时发生 |
onloadstart | 数据读取开始时发生 |
onload | 数据读取成功完成时发生 |
onloadend | 数据读取完成时发生无论读取成功还是失败 |
onprogess | 数据读取中 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!