Heim > Web-Frontend > H5-Tutorial > Hauptteil

Gemeinsame Nutzung von HTML5 FileAPI-Grafik- und Textcode

黄舟
Freigeben: 2017-03-28 16:00:28
Original
1703 Leute haben es durchsucht

In HTML5 wird eine API für Dateioperationen bereitgestellt. Über diese API wird die entsprechende Verarbeitung des Zugriffs auf das lokale Dateisystem von der Webseite aus vereinfacht einfach. Bisher unterstützen es nur einige Browser.

1.FileList-Objekt und File-Objekt

Das FileList-Objekt stellt eine Liste der vom Benutzer ausgewählten Dateien dar In HTML4 darf nur eine Datei im Dateisteuerelement platziert werden. In HTML5 können jedoch mehrere Dateien im Dateisteuerelement platziert werden, indem das Attribut „Mehrfach“ hinzugefügt wird. Jede vom Benutzer im Steuerelement ausgewählte Datei ist ein Dateiobjekt, und FileList ist eine Liste dieser Dateiobjekte, die alle vom Benutzer ausgewählten Dateien darstellt. Das Dateiobjekt verfügt über zwei Attribute: Das eine ist „name“, was bedeutet, dass der Dateiname nicht den Pfad der Datei enthält. Das andere ist „lastModifiedDate“, was bedeutet, dass die Datei zuletzt geändert wurde.

<!DOCTYPE html>
<html>
    <head>
        <meta charset=&#39;UTF-8&#39;/>
        <title>FileList and File </title>
        <script type="text/javascript" language="JavaScript">
function showFiles(){
var file,
                len = document.getElementById(&#39;file&#39;).files.length;//返回FileList文件列表对象
for (var i=0; i < len; i++) {
                  file = document.getElementById(&#39;file&#39;).files[i];
                  alert(file.name);
                };
                
            }            
</script>               
    </head>
    <body>
        <input type="file" id=&#39;file&#39; multiple="multiple" width="80px"/>
        <input type="button" id="bt1" value="click" onclick="showFiles();"/>
    </body>
</html>
Nach dem Login kopieren

2. Blob-Objekt

Wenn es um Blob-Objekte geht, denken manche Leute vielleicht an die Blob-Felder in OracleDB, die eine gewisse ähnliche Bedeutung haben. Blob stellt in HTML5 binäre Rohdaten dar. Es bietet eine Slice()-Methode, mit der Sie auf den Rohdatenblock innerhalb der Bytes zugreifen können. Tatsächlich erbt das oben erwähnte Dateiobjekt das Blob-Objekt.

Zwei Attribute des Blob-Objekts, Größe: stellt die Bytelänge eines Objekts dar. Typ: Stellt den MIME-Typ eines Objekts dar. Wenn es sich um einen unbekannten Typ handelt, wird eine leere

-Zeichenfolge zurückgegeben.

function showFileInfo(){
                var file = document.getElementById(&#39;file&#39;).files[0];
                var size = document.getElementById(&#39;fileType&#39;);
                var type = document.getElementById(&#39;fileSize&#39;);
                size.innerHTML = file.size;
                type.innerHTML = file.type;
            }
Nach dem Login kopieren

Bei Bildtypdateien beginnt das Typattribut des Blob-Objekts mit image/. Diese Funktion kann verwendet werden, um den vom Benutzer ausgewählten Dateityp zu bestimmen.

function showFileInfo(){
                var file = document.getElementById(&#39;file&#39;).files[0];
                if(checkImage(file)){
                var size = document.getElementById(&#39;fileType&#39;);
                var type = document.getElementById(&#39;fileSize&#39;);
                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;
            }
Nach dem Login kopieren
Darüber hinaus fügt die Dateisteuerung das Attribut „accept“ im HTML5-Standard hinzu, um die akzeptierten Dateitypen einzuschränken. Derzeit ist die Ausrichtungsunterstützung jedes Browsers jedoch auf die Standardauswahl von Bildern beim Öffnen beschränkt Dateiauswahlfenster. Es handelt sich lediglich um eine Datei. Wenn Sie andere Typen auswählen, kann die Steuerung diese auch akzeptieren.

3.FileReader-Schnittstelle

3.1 Schnittstellenmethoden

Die FileReader-Schnittstelle bietet vier Methoden, von denen 3 zum

Lesen von Dateien und 1 zum Lesen von Dateien verwendet werden Unterbrechen Sie das Lesen der Datei.

方法名   参数 描述
readAsBinaryString() file 将文件读取为二进制字符串,通常将它传到后端,后端可以通过这段字符串存储文件
readAsDataURL() file 将文件读取为一段data url字符串,事实上是将小文件以一种特格式的URL地址直接读取到页面。小文件通常指图片与html等格式文件
readAsText() file [encoding] 将文件以文本的方式读取,其中第二个参数为文本的编码。
abort() (none) 中断读取操作。

Es ist zu beachten, dass die Methode unabhängig davon, ob das Lesen erfolgreich oder fehlgeschlagen ist, das Leseergebnis nicht zurückgibt Das Ergebnis wird im Ergebnisattribut zurückgegeben.

 3.2 Schnittstelle

Ereignisse

 Die FileReader-Schnittstelle bietet einen vollständigen Satz von Ereignismodellen zur Erfassung des Status beim Lesen von Dateien.

事件 描述
onabort 数据读取中断时发生
onerror 数据读取出错时发生
onloadstart 数据读取开始时发生
onload 数据读取成功完成时发生
onloadend 数据读取完成时发生无论读取成功还是失败
onprogess 数据读取中
 3.3 Beispiel

Das obige ist der detaillierte Inhalt vonGemeinsame Nutzung von HTML5 FileAPI-Grafik- und Textcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!