Heim >Web-Frontend >HTML-Tutorial >Mobiles Terminal HTML5 realisiert Datei-Upload_HTML/Xhtml_Webseitenproduktion

Mobiles Terminal HTML5 realisiert Datei-Upload_HTML/Xhtml_Webseitenproduktion

WBOY
WBOYOriginal
2016-05-16 16:36:061359Durchsuche

Die meisten auf der PC-Seite hochgeladenen Dateien spielen keine Rolle, wenn auf der mobilen Seite jedoch immer noch verschiedene redundante Plug-Ins verwendet werden Um die Funktion zum Hochladen von Bildern zu haben, da H5 bereits über entsprechende Schnittstellen verfügt und die Kompatibilität gut ist, wird der Verwendung von H5 für die Implementierung natürlich Vorrang eingeräumt.

Die wichtigsten verwendeten Technologien sind:

ajax

FileReader

FormData

HTML-Struktur:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. <div class="camera-area"> 
  2.  <form enctype="multipart/ form-data" method="post">
  3.  <Eingabe Typ="Datei" Name="fileToUpload" Klasse="fileToUpload" akzeptieren="image/*" capture="camera"/>
  4.  <div Klasse="upload- Fortschritt"><span>span>div>
  5. Formular>
  6.  <div class="thumb" >div>
  7. div>

Das Paket upload.js hängt von zepto ab

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. (Funktion($) {   
  2.   $.extend($.fn, {   
  3.     Datei hochladen: Funktion(opts) {   
  4.       dies.each(Funktion() {   
  5.         var $self = $(this);   
  6.         var doms = {   
  7.           "fileToUpload": $self.find(".fileToUpload"),   
  8.           "thumb": $self.find(".thumb"),   
  9.           "progress": $self.find(".upload-progress")   
  10.         };   
  11.         var funs = {   
  12.           //选择文件,获取文件大小,也可以在这里获取文件格式,限制用户上传非要求格式的文件   
  13.           "fileSelected"Funktion() {   
  14.             var files = (doms.fileToUpload)[0].files;   
  15.             var count = files.length;   
  16.             for (var index = 0; index < count; index ) {   
  17.               var file = files[index];   
  18.               var fileSize = 0;   
  19.               if (file.size > 1024 * 1024)   
  20.                 fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString()   'MB';   
  21.               sonst  
  22.                 fileSize = (Math.round(file.size * 100 / 1024) / 100).toString()   'KB';   
  23.             }
  24. funs.uploadFile();
  25. },
  26.  //Dateien asynchron hochladen
  27. uploadFile: function() {
  28.  var fd = new FormData();//Formulardatenobjekt erstellen
  29. var files = (doms.fileToUpload)[0].files;
  30. var count = files.length;
  31.  
  32. for (var index = 0; index < count; index ) {
  33. var file = files[index]; fd.append(opts.file, file);
  34. //Füge die Datei zu den Formulardaten hinzu
  35. funs.previewImage(file);
  36. //Vorschau des Bildes vor dem Hochladen oder Vorschau des Textes mit anderen Methoden
  37.                                                           
  38. var
  39. xhr =
  40. new XMLHttpRequest(); xhr.upload.addEventListener("progress"
  41. , funs.uploadProgress,
  42. false); // Upload-Fortschritt überwachen xhr.addEventListener("load"
  43. , funs.uploadComplete,
  44. false); xhr.addEventListener("error"
  45. , opts.uploadFailed,
  46. false); xhr.open("POST"
  47. , opts.url>);
  48. xhr.send(fd); },
  49. //Dateivorschau
  50. Vorschaubild: Funktion(Datei) {
  51. var gallery = doms.thumb;
  52. var img = document.createElement("img"); img.file = file;
  53. doms.thumb.html(img);
  54.  
  55. //Verwenden Sie die FileReader-Methode, um den Bildinhalt anzuzeigen
  56. var
  57. reader = new FileReader(); reader.onload = (
  58. Funktion
  59. (aImg) {
  60. Zurück
  61. Funktion(e) { aImg.src = e.target.result;
  62.                                            
  63. })(img);
  64. reader.readAsDataURL(file);
  65. },
  66. uploadProgress:
  67. function
  68. (evt) {
  69. if
  70. (evt.lengthComputable) {
  71. var
  72. percentComplete = Math.round(evt.loaded * 100 / evt.total);
  73. doms.progress.html(percentComplete.toString() '%');
  74.                                                            },
  75. "uploadComplete"
  76. :
  77. Funktion
  78. (evt) {
  79. Alert(evt.target.responseText)                                                         };
  80. doms.fileToUpload.on("change", function() {
  81. doms.progress.find("span").width("0"); >
  82. funs.fileSelected();
  83. });
  84. });
  85. }
  86. });
  87. })(Zepto);
Aufrufmethode:

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. $(".camera-area").fileUpload({
  2.  "url": "savetofile.php"
  3.  "Datei": "meineDatei"
  4. });
PHP-Teil:


PHP-CodeInhalt in die Zwischenablage kopieren
  1. if (isset($_FILES['myFile'])) {
  2. // Beispiel:
  3. writeLog($_FILES); move_uploaded_file(
  4. $_FILES['myFile']['tmp_name'], "uploads/" . $_FILES['myFile']['name']);
  5. Echo 'erfolgreich'; }
  6. Funktion writeLog($log){  
  7. if(is_array($log) | |. is_object($log)){
  8. $log = json_encode($log); }
  9.  
  10. $log = $log."rn";
  11.  
  12. file_put_contents('log.log', $log,FILE_APPEND); }
  13. ?>
  14. Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

    Originaltext: http://www.cnblogs.com/hutuzhu/p/5254532.html

Stellungnahme:
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