Dieses Mal zeige ich Ihnen, wie Sie eine Bild-Upload-Vorschaukomponente in H5 erstellen. Was sind die Vorsichtsmaßnahmen für die Erstellung einer Bild-Upload-Vorschaukomponente in H5? .
Meine Entwicklungsumgebung ist Windows 10 und die Testbrowser sind Chrome und Firefox
Wenn Sie auf inkompatible Browser stoßen, können Sie versuchen, den Browser zu aktualisieren oder ihn zu googeln (~ ̄▽ ̄)~
1.Einzelauswahl und Mehrfachauswahl von Dateien
Standardmäßig ist eine Einzelauswahl von Dateien.
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <label>单选:<input type="file"/></label> <label>多选:<input type="file" multiple="multiple"/></label> </body></html>
2. Holen Sie sich das Dateiobjekt
Öffnen Sie die Browserkonsole und wählen Sie die Datei aus, um die Konsolenänderungen anzuzeigen
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <label>可以这样:<input type="file" multiple="multiple" onchange="getFilesInfo(this.files)"/></label> <script> function getFilesInfo(f){ console.log(f); } </script> <label>也可以这样:<input id="files" type="file" multiple="multiple" /></label> <script> function getFilesInfo2(evt) { var files = evt.target.files; console.log(files); } document.getElementById('files').addEventListener('change', getFilesInfo2, false); </script> <label>还可以这样:<input id="fileInput" type="file" multiple="multiple" onchange="getFilesInfo3()"/></label> <script> function getFilesInfo3(){ var files=document.getElementById("fileInput").files; console.log(files); } </script> </body></html>
Name-Dateiname
Größe-GrößeTyp-Dateityp
lastModified-Datum der letzten Änderung
Komm schon, lass uns versuchen, ein paar Informationen auf der Seite auszugeben
4. Dateigröße und Dateiformat begrenzen
sagte: Um eine Vorschau des hochgeladenen Bildes anzuzeigen, müssen Sie die Größe und das Format der hochgeladenen Datei filtern
Angenommen, wir erlauben nur das Hochladen von JPG und PNG und die Dateigröße liegt innerhalb von 2 MB. Das ist sehr einfach und Sie können Beurteilen Sie nur die Dateiinformationen.<!doctype html><html> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> <input type="file" id="files" multiple /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; //如果你是单选那就直接evt.target.files[0] var output = []; for(var i = 0, f; f = files[i]; i++) { output.push('<li><strong>', f.name, '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString(), '</li>'); } document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>'; } document.getElementById('files').addEventListener('change', handleFileSelect, false); </script> </body> </html>
Natürlich können Sie auch Accept="image" festlegen /*" im Eingabe-Tag, um nur die Eingabe von Bilddateien zu ermöglichen
5. Vorschaubeispiel
Die Vorschau wird durch dynamisches Erstellen des img-Tags und Binden der ObjectURL an die Quelle implementiert Attribut des img-Tags
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h3>过滤出图片</h3> <input type="file" id="files" multiple accept="image/*" /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; var output = []; for(var i = 0, f; f = files[i]; i++) { if(f.size<1024*1024*2&&(f.type=="image/png"||f.type=="image/jpeg")){//<===这里 output.push('<li><strong>', f.name, '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString(), '</li>'); } } document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>'; } document.getElementById('files').addEventListener('change', handleFileSelect, false); </script> </body> </html>
Beispiel
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h3>预览</h3> <input type="file" id="files" multiple accept="image/*" /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; var output = []; for(var i = 0, f; f = files[i]; i++) { if(f.size<1024*1024*2&&(f.type=="image/png"||f.type=="image/jpeg")){ output.push("![]("+URL.createObjectURL(f)+")"); } } document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>'; } document.getElementById('files').addEventListener('change', handleFileSelect, false); </script> </body></html>
Ich glaube, Sie haben die Methode gemeistert, nachdem Sie das gelesen haben Fall in diesem Artikel Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h3>简单预览示例</h3> <label id="fileBox" style="border: 1px #ccc solid;display:block;width: 100px;height:100px;background-clip:border-box;background-origin:padding-box;background-size:cover"> <input type="file" hidden="hidden" style="display: none;" onchange="fileSelect(this.files)"/> </label> <script> function fileSelect(f) { if(!f){ return; } f=f[0]; if(f.size<1024*1024*2&&(f.type=="image/png"||f.type=="image/jpeg")){ document.getElementById('fileBox').style.backgroundImage="url(" + URL.createObjectURL(f)+ ")"; } } </script> </body> </html>
So verwenden Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien
So verwenden Sie JavaScript dazu Textdaten speichern
Datei-Upload-Erweiterung mit jQuery
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Bild-Upload-Vorschaukomponente in H5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!