Rumah hujung hadapan web tutorial js 安卓中HTML5图片上传实例详解

安卓中HTML5图片上传实例详解

Jun 26, 2017 pm 01:31 PM
h5 ie web webview Android Contoh projek

应用的平台环境:安卓webview;

涉及的技术点:

(1) :在开发中,安卓webview默认点击无法调用文件选择与相机拍照(其他的设备ios等浏览器没有此问题),需要让安卓开发同学在代码调整即可;

(2) 点击选择图片后如何展示在页面上呢?很多开发人员估计是直接获取 this.value,这是错误的,不可行。有2个API可以现实,new FileReader与window.URL.createObjectURL(最优);

  new FileReader的实现如下:

 
 upload
Salin selepas log masuk

在安卓webview实战中,读取与写入速度相当慢,不推荐;

 //-----------------------------------------------------------------------------------------

window.URL.createObjectURL实现如下:

<input type="file" name="" id="j-file">
 <img src="" id=&#39;j-img&#39; alt="" width="100%">
 <button id=&#39;j-btn&#39;>upload</button>
 <script type="text/javascript">
  var o_file = document.getElementById('j-file'),
      o_btn = document.getElementById('j-btn'),
      o_img = document.getElementById('j-img');

  o_file.addEventListener('change',function(event){      var file = event.target.files[0];      if(!file) return;      var url = window.URL.createObjectURL(file);      if(/image/.test(file.type)){
          o_img.setAttribute('src',url);
      }else{
          console.log('请选择图片');
      }
  },false);

  o_btn.onclick = function(){      var data = new FormData();
      data.append('file_a',o_file.files[0]);
      data.append('text','test');
        console.log(data);
  } </script>
Salin selepas log masuk

这技术的好处是可以不必把文件内容读取到javascript中,而是直接使用文件内容,速度很快;

(3)如何讲图片数据通过XHR对象传递给服务端呢?new FormData(),为序列化表单以及创建与表单格式相同的数据(XHR传输)提供了实现,FormData不必明确在xhr对象上设置请求头部(如果是表单里面图片上传,enctype需要设置multipart/form-data),XHR能自动识别,实例方法.append(key,value)自定义数据;

完整的代码例子如下:

<input type="file" name="" id="j-file">
 <img src="" id=&#39;j-img&#39; alt="" width="100%">
 <button id=&#39;j-btn&#39;>upload</button>
 <script type="text/javascript">
  var o_file = document.getElementById('j-file'),
      o_btn = document.getElementById('j-btn'),
      o_img = document.getElementById('j-img'),
      target_file = null;

  o_file.addEventListener('change',function(event){      var file = event.target.files[0];      if(!file) return;
      target_file = file;      var url = window.URL.createObjectURL(target_file);      if(/image/.test(target_file.type)){
          o_img.setAttribute('src',url);
      }else{
          console.log('请选择图片');
      }
  },false);

  o_btn.onclick = function(){      if(!target_file) return;      //数据处理  var data = new FormData();
      data.append('key',target_file);    
      var xhr = new XMLHttpRequest();      if(xhr.upload){
        xhr.upload.addEventListener("progress", function(e){          var loaded = e.loaded;    //已经上传大小情况   var tot = e.total;      //附件总大小   var per = Math.floor(100*loaded/tot);  //已经上传的百分比           console.log(per+'%');//进度        }, false);
      }
    
      xhr.onreadystatechange = function(e) {          if (xhr.readyState == 4) {if (xhr.status >=200&&xhr.status<300||xhr.status==304) {//上传成功                             }
          }
      }; 
      xhr.onloadend = function(){//无论失败或成功      }
      xhr.onerror = function(){          
          //网络失败      }      // 开始上传      xhr.open("POST",'上传地址', true); 
      xhr.send(data); 
  } </script>
Salin selepas log masuk

 

Atas ialah kandungan terperinci 安卓中HTML5图片上传实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ciri baharu Google Android 15: 'Ketik dua kali dengan dua jari' untuk membesarkan skrin Ciri baharu Google Android 15: 'Ketik dua kali dengan dua jari' untuk membesarkan skrin May 08, 2024 pm 04:31 PM

Menurut berita pada 8 Mei, Google merancang untuk menambah isyarat skrin "klik dua jari" baharu pada sistem Android 15 untuk membesarkan skrin. Sistem Android Google pada masa ini menyediakan 3 cara untuk mengezum masuk pada skrin Operasi adalah seperti berikut: Butang tambahan skrin: Operasi yang paling mudah, tetapi ia mengambil sebahagian daripada skrin dan sentiasa mengezum di tengah. Gerak isyarat menahan kedua-dua kekunci kelantangan: mengambil lebih sedikit ruang skrin, tetapi mengambil masa paling lama untuk diaktifkan. Gerak isyarat mengetik skrin tiga kali dengan cepat: Kaedah ini juga membolehkan anda mengezum masuk pada bahagian tepat skrin yang anda ingin zum masuk. Walau bagaimanapun, selepas gerak isyarat ini didayakan, sistem Android akan menilai berdasarkan selang klik pengguna , yang akan memperlahankan peranti. Kaedah keempat telah diperkenalkan dalam kemas kini Android 15Beta1.2, iaitu gerak isyarat skrin "klik dua jari" baharu. Ia pada masa ini tidak ditambahkan dalam tetapan sistem.

Tiada lagi pegangan tangan, sudut R badan Samsung Galaxy S25 Ultra terdedah kepada telefon mudah alih Galaxy Note7 Tiada lagi pegangan tangan, sudut R badan Samsung Galaxy S25 Ultra terdedah kepada telefon mudah alih Galaxy Note7 Jun 29, 2024 am 02:57 AM

Menurut berita pada 28 Jun, sumber @ibinguniverse menulis tweet, menyatakan bahawa telefon bimbit Samsung Galaxy S25 Ultra tidak akan mencubit tangan lagi, dan sudutnya akan dibulatkan, memudahkan pengguna untuk memegangnya untuk jangka masa yang lama. Fenye menyatakan dalam kandungan Weibonya bahawa sudut R badan telefon mudah alih Samsung Galaxy S25 Ultra boleh merujuk kepada telefon bimbit Galaxy Note7. Gambar yang dilampirkan adalah seperti berikut: Sumber juga berkata: Galaxy S25 Ultra mempunyai ketebalan badan 8.4mm, menentang trend dan menjadi lebih nipis, menjadikannya paling nipis antara model SUltra dalam beberapa tahun kebelakangan ini. S21U hingga S23U semuanya 8.9mm, dan S24U ialah 8.6mm. Reka bentuk Samsung masih tidak mahu berkompromi dengan imej, dan ia tidak mahu berkembang ke arah sekumpulan Oreos. Fenye

Google Android 15 mengoptimumkan tetapan storan: 'Sistem' dipecahkan kepada fail sistem dan fail sementara Google Android 15 mengoptimumkan tetapan storan: 'Sistem' dipecahkan kepada fail sistem dan fail sementara May 31, 2024 pm 09:02 PM

Menurut berita pada 17 Mei, jurutera Android Mishaal Rahman baru-baru ini menerbitkan catatan blog dan mendapati bahawa Android 15Beta2 telah melaraskan tetapan storan dan membahagikan "Sistem" kepada fail sistem dan fail sementara. Nota: Pengguna Android pada masa ini membuka tetapan storan dan boleh melihat ruang yang diduduki oleh pelbagai jenis fail, termasuk aplikasi, dokumen, gambar, permainan, audio, dsb. Terdapat juga ruang "Sistem" yang memaparkan ruang storan yang diduduki oleh fail sistem asas. Dalam sistem Android 15, selain melihat ruang yang diduduki oleh jenis fail di atas, Sistem dibahagikan lagi kepada OS (versi Android khusus) dan fail sementara sistem. Pengguna boleh melihat fail sementara dengan lebih intuitif

'Konsol pegang tangan Android berus tinggi 7-inci 120Hz berus tinggi pertama di dunia', AYANEO pratonton Pocket EVO minggu depan 'Konsol pegang tangan Android berus tinggi 7-inci 120Hz berus tinggi pertama di dunia', AYANEO pratonton Pocket EVO minggu depan Jul 10, 2024 pm 03:53 PM

Terima kasih kepada netizen Wu Yanzu dari China Selatan kerana menyerahkan petunjuk! Menurut berita pada 6 Julai, syarikat AYANEO yang dikeluarkan di Weibo malam tadi, mempratonton pelancaran produk Pocket EVO baharu, yang mendakwa sebagai peranti pegang tangan Android perdana pertama di dunia yang dilengkapi dengan skrin warna berus tinggi 1080 POLED 7-inci 120Hz. Titik jualan utama AYANEOPocketEVO ialah penggunaan skrin OLED, yang memberikan warna yang lebih halus dan kelajuan tindak balas yang lebih pantas, memberikan pemain pengalaman permainan berkadar tinggi, berkadar bingkai tinggi dan hiburan audio-visual. Kadar muat semula 60Hz pegang tangan permainan fenyeAYANEO: AYANEOMicro: 3.5 inci 960x640 piksel paparan IPSLCD AYANEOPocketS: 6 inci 1920x1080 atau 25

Pratonton iQOO 13: kapasiti bateri meningkat kepada 6000mAh Pratonton iQOO 13: kapasiti bateri meningkat kepada 6000mAh Jun 21, 2024 pm 06:12 PM

Menurut berita pada 21 Jun, blogger digital terkenal Digital Chat Station mendedahkan bahawa kapasiti bateri telefon utama iQOO iQOO13 tahun ini ialah 6000mAh. Dilaporkan bahawa model siri iQOO12 terbaharu mempunyai kapasiti bateri 5000mAh Terima kasih kepada pembangunan dan pengkomersilan teknologi bateri anod karbon-silikon tahun ini, iQOO13 yang akan dikeluarkan pada separuh kedua tahun ini akan mendapat manfaat daripada teknologi bateri. , dan kapasiti akan terus meningkat daripada 5000mAh Kepada 6000mAh, ia adalah nipis dan ringan sambil mengambil kira hayat bateri yang panjang. Di samping itu, menurut penulis blog itu, siri iQOO13 akan menggunakan platform mudah alih Snapdragon 8Gen4, mewarisi telefoto periskop 3X, menambah cap jari ultrasonik bawah skrin satu titik, dan juga akan menyokong IP68 kalis habuk dan kalis air, terbina dalam X- bersaiz besar. paksi linear

Rangka kerja maya Android 'Tai Chi' mengumumkan bahawa ia akan digantung secara kekal, pengguna perlu mencari pilihan baharu Rangka kerja maya Android 'Tai Chi' mengumumkan bahawa ia akan digantung secara kekal, pengguna perlu mencari pilihan baharu May 09, 2024 pm 03:43 PM

Menurut berita pada 9 Mei, aplikasi rangka kerja maya popular "Tai Chi" pada platform Android telah tamat malam tadi. Pembangun rasminya mengumumkan malam tadi bahawa atas sebab peribadi, perisian enam tahun ini akan berhenti mengemas kini secara kekal. Sejak pelancaran "Tai Chi", pembangun telah berusaha sedaya upaya untuk mengekalkannya. Keseluruhan proses adalah secara sukarela dan tiada sebarang bayaran dikenakan. Namun, selepas bergelar bapa, dia merasakan masa dan tenaganya terhad dan tidak dapat meneruskan projek besar dan kompleks ini, lantas dia mengambil keputusan untuk berhenti mengemas kini. Perhalusi dan tulis semula kandungan yang diberikan seperti berikut: Menurut pemahaman editor, "Tai Chi", sebagai aplikasi rangka kerja maya yang komprehensif, dicirikan oleh fakta bahawa pengguna boleh menggunakan modul Xposed dengan mudah tanpa membuka kunci, mengakar atau memancarkan telefon. . Keserasian yang sangat baik

IPhone juga mendapat versi 2TB! Dilaporkan bahawa Apple meninggalkan TLC dan menggunakan QLC: jangka hayat/prestasi lebih rendah IPhone juga mendapat versi 2TB! Dilaporkan bahawa Apple meninggalkan TLC dan menggunakan QLC: jangka hayat/prestasi lebih rendah Jul 25, 2024 am 10:03 AM

Berita 25 Julai: Menurut laporan media asing, Apple mungkin mendayakan storan yang lebih besar pada iPhone 2026, yang dijangka 2TB. Pendedahan terbaru daripada rantaian industri ialah Apple sedang mempercepatkan penggantian QLCNAND, sekali gus meningkatkan had atas storan terbina dalam kepada 2TB. Mengenai mengapa QLC digunakan, ia mungkin berkaitan dengan kawalan kos Apple. Malah, ada berita sebelum ini bahawa Apple mungkin menukar kapasiti storan (didayakan pada iPhone 16) dan tidak lagi menggunakan memori kilat NAND sel tiga lapisan (TLC) tetapi menggunakan sel empat lapisan pada model dengan kapasiti storan 1TB atau lebih. (QLC) memori kilat NAND. Berbanding dengan TLC, kelebihan QLC ialah setiap sel memori boleh menyimpan empat bit data.

Dilaporkan bahawa Huawei akan beralih sepenuhnya ke platformnya sendiri Hongmeng pada separuh kedua tahun ini dan meninggalkan Android sepenuhnya. Dilaporkan bahawa Huawei akan beralih sepenuhnya ke platformnya sendiri Hongmeng pada separuh kedua tahun ini dan meninggalkan Android sepenuhnya. Jun 03, 2024 pm 12:39 PM

Menurut berita pada 13 Mei, menurut berita terkini, Huawei akan beralih sepenuhnya ke platform HarmonyOS sendiri pada separuh kedua tahun ini dan meninggalkan sistem Android. Laporan itu menyebut bahawa versi HarmonyOS seterusnya dijangka dikeluarkan dengan siri perdana Mate70 Huawei yang akan datang. Dilaporkan bahawa HarmonyOSNext telah berkembang kepada 4,000 aplikasi, termasuk Alipay dan McDonald's. Menurut sumber, jumlah keseluruhan aplikasi HarmonyOSNext akan meningkat kepada 5,000 dalam tahun ini, dan matlamat Huawei adalah untuk mencapai 500,000 dalam jangka pendek. HarmonyOSNext direka dari awal dan sistem pengendalian dibangunkan secara bebas oleh Huawei. Walaupun set kod ini pada asalnya ditulis untuk peranti IoT,

See all articles