Dieses Mal wird AJAXUPLOAD als bürstenloses Upload-Plug-in für den Upload-Client verwendet. Die neueste Version ist 3.9. Die offizielle Adresse: http://valums.com/ajax-upload/
Fügen Sie jquery.min.1.4.2.js und ajaxupload.js
in die Seite ein
<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> <script src="Scripts/ajaxupload3.9.js" type="text/javascript"></script>
HTML-Code:
<style type="text/css"> #txtFileName { width: 300px; } .btnsubmit{border-bottom: #cc4f00 1px solid; border-left: #ff9000 1px solid;border-top: #ff9000 1px solid; border-right: #cc4f00 1px solid;text-align: center; padding: 2px 10px; line-height: 16px; background: #e36b0f; height: 24px; color: #fff; font-size: 12px; cursor: pointer;} </style> 上传图片:<input type="text" id="txtFileName" /><div id="btnUp" style="width:300px;" class=btnsubmit >浏览</div> <div id="imglist"></div>
JS-Code:
<script type="text/javascript"> $(function () { var button = $('#btnUp'), interval; new AjaxUpload(button, { //action: 'upload-test.php',文件上传服务器端执行的地址 action: '/handler/AjaxuploadHandler.ashx', name: 'myfile', onSubmit: function (file, ext) { if (!(ext && /^(jpg|jpeg|JPG|JPEG)$/.test(ext))) { alert('图片格式不正确,请选择 jpg 格式的文件!', '系统提示'); return false; } // change button text, when user selects file button.text('上传中'); // If you want to allow uploading only 1 file at time, // you can disable upload button this.disable(); // Uploding -> Uploading. -> Uploading... interval = window.setInterval(function () { var text = button.text(); if (text.length < 10) { button.text(text + '|'); } else { button.text('上传中'); } }, 200); }, onComplete: function (file, response) { //file 本地文件名称,response 服务器端传回的信息 button.text('上传图片(只允许上传JPG格式的图片,大小不得大于150K)'); window.clearInterval(interval); // enable upload button this.enable(); var k = response.replace("<PRE>", "").replace("", ""); if (k == '-1') { alert('您上传的文件太大啦!请不要超过150K'); } else { alert("服务器端传回的串:"+k); alert("本地文件名称:"+file); $("#txtFileName").val(k); $("

Serverseitiger ajaxuploadhandler.ashx-Code
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; HttpPostedFile postedFile = context.Request.Files[0]; string savePath = "/upload/images/"; int filelength = postedFile.ContentLength; int fileSize = 163600; //150K string fileName = "-1"; //返回的上传后的文件名 if (filelength <= fileSize) { byte[] buffer = new byte[filelength]; postedFile.InputStream.Read(buffer, 0, filelength); fileName = UploadImage(buffer, savePath, "jpg"); } context.Response.Write(fileName); } public static string UploadImage(byte[] imgBuffer, string uploadpath, string ext) { try { System.IO.MemoryStream m = new MemoryStream(imgBuffer); if (!Directory.Exists(HttpContext.Current.Server.MapPath(uploadpath))) Directory.CreateDirectory(HttpContext.Current.Server.MapPath(uploadpath)); string imgname = CreateIDCode() + "." + ext; string _path = HttpContext.Current.Server.MapPath(uploadpath) + imgname; Image img = Image.FromStream(m); if (ext == "jpg") img.Save(_path, System.Drawing.Imaging.ImageFormat.Jpeg); else img.Save(_path, System.Drawing.Imaging.ImageFormat.Gif); m.Close(); return uploadpath + imgname; } catch (Exception ex) { return ex.Message; } } public static string CreateIDCode() { DateTime Time1 = DateTime.Now.ToUniversalTime(); DateTime Time2 = Convert.ToDateTime("1970-01-01"); TimeSpan span = Time1 - Time2; //span就是两个日期之间的差额 string t = span.TotalMilliseconds.ToString("0"); return t; }
Bei der Entwicklung von PHP-Websites wird häufig die Datei-Upload-Funktion verwendet. Ich habe zuvor vorgestellt, wie PHP zum Implementieren der Datei-Upload-Funktion verwendet wird. Mit der Entwicklung der WEB-Technologie ist die Benutzererfahrung zum Schlüssel zur Messung des Erfolgs einer Website geworden. Heute werde ich Ihnen ein Beispiel für die Implementierung der Ajax-Datei-Upload-Funktion in PHP vorstellen Es wird eine Funktion zum Hochladen einzelner Dateien und mehrerer Dateien verwendet.
AjaxUpload
Wenn das JQuery-Plug-In AjaxUpload die Datei-Upload-Funktion implementiert, ist es nicht erforderlich, ein Formular-Upload zu erstellen. Natürlich können Sie bei Bedarf auch ein Formular-Upload erstellen.
Vorbereitung
1. Laden Sie das Jquery-Entwicklungspaket und das Datei-Upload-Plug-in AjaxUpload herunter.
2. Erstellen Sie uploadfile.html und stellen Sie das Jquery-Entwicklungspaket und das AjaxUpload-Plug-in vor
<script></script> <script src="js/ajaxupload.3.5.js"></script>
3. Erstellen Sie entsprechend den Anforderungen des JQuery-Plug-Ins AjaxUpload ein DIV, das die Ajax-Datei-Upload-Funktion auslöst
<ul> <li id="example"> <div id="upload_button">文件上传</div> <p>已上传的文件列表:</p> <ol class="files"></ol> </ul>
Hinweis: Aus dem Code unten können wir ersehen, dass das Jquery-Plug-in AjaxUpload die Funktion zum Hochladen von Dateien basierend auf dem DIV upload_button auslöst.
Front-End-JS-Code
Ich habe im Code einen Schalter eingestellt, der je nach Bedarf dem hochgeladenen Dateityp entspricht, und außerdem festgelegt, ob eine einzelne Datei oder mehrere Dateien im Ajax-Modus hochgeladen werden sollen.
$(document).ready(function(){ var button = $('#upload_button'), interval; var fileType = "all",fileNum = "one"; new AjaxUpload(button,{ action: 'do/uploadfile.php', /*data:{ 'buttoninfo':button.text() },*/ name: 'userfile', onSubmit : function(file, ext){ if(fileType == "pic") { if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)){ this.setData({ 'info': '文件类型为图片' }); } else { $('<li></li>').appendTo('#example .files').text('非图片类型文件,请重传'); return false; } } button.text('文件上传中'); if(fileNum == 'one') this.disable(); interval = window.setInterval(function(){ var text = button.text(); if (text.length < 14){ button.text(text + '.'); } else { button.text('文件上传中'); } }, 200); }, onComplete: function(file, response){ if(response != "success") alert(response); button.text('文件上传'); window.clearInterval(interval); this.enable(); if(response == "success"); $('<li></li>').appendTo('#example .files').text(file); } }); });
Hinweis:
Zeile 1: $(document).ready()-Funktion, eine Funktion in Jquery, ähnlich wie window.load. Verwenden Sie diese Funktion, um die gebundene Funktion sofort aufzurufen, wenn das DOM geladen und zum Lesen und Bearbeiten bereit ist.
Zeile 3: Die Parameter fileType und fileNum stellen den Typ und die Anzahl der hochgeladenen Dateien dar. Der Standardwert ist, dass alle Dateitypen gleichzeitig hochgeladen werden können Dateien oder mehrere Dateien gleichzeitig, Sie können die Werte dieser beiden Variablen zu pic und mehr machen.
Zeilen 6 bis 8: POST-Daten an den Server Sie können statische Werte festlegen oder einige dynamische Werte über die DOM-Operationsfunktion von Jquery abrufen, z. B. den Wert von INPUT im Formular usw.
Zeile 9: Entspricht Frontend
<input type="file" name="userfile">
Serverseitig $_FILES['userfile']
Zeilen 10–36: Funktion wird vor dem Hochladen der Datei ausgelöst.
Zeilen 11–21: Filterfunktion des Bilddateityps. Die JQuery-SetData-Funktion wird verwendet, um den Wert von POST auf dem Server festzulegen.
Zeilen 25–26: Legen Sie fest, ob nur eine Datei oder mehrere Dateien gleichzeitig hochgeladen werden sollen. Wenn nur eine Datei hochgeladen wird, wird die Auslöseschaltfläche deaktiviert. Wenn Sie mehrere weitere Dateien übertragen möchten, stellen Sie bitte den Wert von MAXSIZE im serverseitigen PHP-Datei-Upload-Programm ein. Die Größenbeschränkung der hochgeladenen Dateien hängt natürlich auch von den Einstellungen in der PHP.INI-Datei ab.
Zeilen 28–35: Während des Datei-Upload-Vorgangs wird der Text der Schaltfläche alle 200 Millisekunden dynamisch aktualisiert, wodurch der Effekt dynamischer Eingabeaufforderungen erzielt wird. Die Funktion window.setInterval wird verwendet, um die integrierte Funktion zu jedem angegebenen Zeitpunkt auszuführen. Die Interaktionszeiteinheit ist Millisekunden.
Zeilen 37–49: Die Funktion wird ausgelöst, nachdem die Datei-Upload-Funktion abgeschlossen ist. Wenn der Server gemäß dem Rückgabewert einen Fehler meldet, fordert das Frontend die Fehlermeldung über ALERT an.
Serverseitiger PHP-Datei-Upload-Code
Es basiert im Allgemeinen auf dem zuvor vorgestellten Beispiel-Tutorial für die PHP-Datei-Upload-Funktion. Die Einstellungen für die Datei-Upload-Größe, Fehlermeldungen und andere Anweisungen wurden in diesem Artikel ausführlich erläutert.
$upload_dir = '../file/'; $file_path = $upload_dir . $_FILES['userfile']['name']; $MAX_SIZE = 20000000; echo $_POST['buttoninfo']; if(!is_dir($upload_dir)) { if(!mkdir($upload_dir)) echo "文件上传目录不存在并且无法创建文件上传目录"; if(!chmod($upload_dir,0755)) echo "文件上传目录的权限无法设定为可读可写"; } if($_FILES['userfile']['size']>$MAX_SIZE) echo "上传的文件大小超过了规定大小"; if($_FILES['userfile']['size'] == 0) echo "请选择上传的文件"; if(!move_uploaded_file( $_FILES['userfile']['tmp_name'], $file_path)) echo "复制文件失败,请重新上传"; switch($_FILES['userfile']['error']) { case 0: echo "success" ; break; case 1: echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值"; break; case 2: echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值"; break; case 3: echo "文件只有部分被上传"; break; case 4: echo "没有文件被上传"; break; }
Zusammenfassung
Grundsätzlich wurde der Prototyp der Front-End-Ajax-Datei-Upload-Triggerfunktion und der serverseitigen PHP-Datei-Upload-Funktion eingeführt. Sie können die Front-End- und Back-End-Codes entsprechend Ihren eigenen Anforderungen oder Ihnen ergänzen kann einige Funktionen trennen, z. B. den Dateityp, die Funktion zum Hochladen einer einzelnen Datei oder mehrerer Dateien. Im Allgemeinen ist es relativ einfach, das JQuery-Plug-In AjaxUpload zu verwenden, um die Funktion zum Hochladen von Dateien zu implementieren.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft
