웹 프론트엔드 JS 튜토리얼 Android의 HTML5 이미지 업로드 예에 대한 자세한 설명

Android의 HTML5 이미지 업로드 예에 대한 자세한 설명

Jun 26, 2017 pm 01:31 PM
h5 ie web webview 기계적 인조 인간 프로젝트

애플리케이션 플랫폼 환경: Android webview;

관련 기술 사항:

(1) : 개발 중에는 Android webview가 기본적으로 파일 선택 및 카메라 사진을 호출할 수 없습니다(iOS 등 다른 브라우저). 장치에는 이 문제가 없습니다), Android 개발 학생들에게 코드를 조정하도록 요청해야 합니다.

(2) 이미지를 클릭하여 선택한 후 페이지에 표시하는 방법은 무엇입니까? 많은 개발자가 this.value를 직접 얻을 수도 있는데, 이는 잘못된 것이며 실현 가능하지 않습니다. 구현할 수 있는 API는 2가지가 있는데, 새로운 FileReader와 window.URL.createObjectURL(최적)

  new FileReader는 다음과 같이 구현됩니다.

 
 upload
로그인 후 복사

실제 Android 웹뷰에서는 읽기 및 쓰기 속도가 매우 느리므로 권장하지 않습니다.

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

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>
로그인 후 복사

이 기술의 장점은 파일 내용을 자바스크립트로 읽어올 필요 없이 파일 내용을 직접 사용한다는 점입니다.

(3) XHR 객체를 통해 이미지 데이터를 서버에 전달하는 방법은 무엇입니까? 새로운 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>
로그인 후 복사

위 내용은 Android의 HTML5 이미지 업로드 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

더 이상 손으로 잡을 필요 없이, 삼성 갤럭시 S25 울트라 본체 R 코너가 갤럭시 노트7 휴대폰에 가깝게 노출됐다. 더 이상 손으로 잡을 필요 없이, 삼성 갤럭시 S25 울트라 본체 R 코너가 갤럭시 노트7 휴대폰에 가깝게 노출됐다. Jun 29, 2024 am 02:57 AM

6월 28일 뉴스에 따르면, @ibinguniverse 소식통은 삼성 갤럭시 S25 울트라 휴대폰이 더 이상 손에 끼지 않고 모서리가 둥글게 처리되어 사용자가 오랫동안 잡기 더 쉬워질 것이라고 트윗했습니다. Fenye는 웨이보 콘텐츠에서 삼성 갤럭시 S25 울트라 휴대폰의 바디 R 각도가 갤럭시 노트7 휴대폰을 참조할 수 있다고 밝혔습니다. 첨부한 사진은 다음과 같다. 소식통도 전했다. 갤럭시S25 울트라는 본체 두께가 8.4mm로 트렌드를 거스르고 얇아져 최근 몇 년간 SULTRA 모델 중 가장 얇아졌다. S21U부터 S23U까지 모두 8.9mm, S24U는 8.6mm이다. 삼성의 디자인은 여전히 ​​이미지와 타협하고 싶지 않고, 오레오 무리의 방향으로 발전하고 싶지도 않습니다. 페니

'세계 최초의 7인치 120Hz 하이 브러시 Android 휴대용 콘솔' AYANEO, 다음 주 Pocket EVO 미리 선보임 '세계 최초의 7인치 120Hz 하이 브러시 Android 휴대용 콘솔' AYANEO, 다음 주 Pocket EVO 미리 선보임 Jul 10, 2024 pm 03:53 PM

힌트를 제출해주신 중국 남부의 네티즌 Wu Yanzu에게 감사드립니다! 7월 6일 뉴스에 따르면 AYANEO 회사는 어젯밤 Weibo를 통해 새로운 Pocket EVO 제품 출시를 미리 알리며 7인치 1080 POLED 120Hz 하이 브러시 컬러 화면을 갖춘 세계 최초의 플래그십 Android 휴대용 기기라고 주장했습니다. AYANEOPocketEVO의 주요 판매 포인트는 더 섬세한 색상과 더 빠른 응답 속도를 제공하여 플레이어에게 높은 점수, 높은 프레임 속도의 게임 및 시청각 엔터테인먼트 경험을 제공하는 OLED 화면을 사용한다는 것입니다. fenyeAYANEO 게이밍 휴대용 60Hz 새로 고침 빈도: AYANEOMicro: 3.5인치 960x640픽셀 IPSLCD 디스플레이 AYANEOPocketS: 6인치 1920x1080 또는 25

iQOO 13 미리보기: 배터리 용량이 6000mAh로 증가했습니다. iQOO 13 미리보기: 배터리 용량이 6000mAh로 증가했습니다. Jun 21, 2024 pm 06:12 PM

21일 뉴스에 따르면, 유명 디지털 블로거 디지털 채팅 스테이션은 올해 iQOO의 플래그십폰 iQOO13의 배터리 용량이 6000mAh가 될 것이라고 밝혔다. 최신 iQOO12 시리즈 모델은 올해 탄소-실리콘 양극 배터리 기술 개발 및 상용화에 힘입어 배터리 용량이 5000mAh인 것으로 알려졌다. , 용량은 5000mAh에서 6000mAh로 직접 증가하며 긴 배터리 수명을 고려하면 얇고 가볍습니다. 또한 블로거에 따르면 iQOO13 시리즈는 Snapdragon 8Gen4 모바일 플랫폼을 사용하고 3X 잠망경 망원을 상속하며 단일 지점 초음파 언더스크린 지문을 추가하고 IP68 방진 및 방수 기능도 지원하며 대형 X- 축 선형

iPhone에도 2TB 버전이 출시됩니다! Apple이 TLC를 포기하고 QLC를 사용하는 것으로 알려짐: 수명/성능이 더 낮음 iPhone에도 2TB 버전이 출시됩니다! Apple이 TLC를 포기하고 QLC를 사용하는 것으로 알려짐: 수명/성능이 더 낮음 Jul 25, 2024 am 10:03 AM

7월 25일 뉴스: 외신 보도에 따르면, Apple은 2TB가 될 것으로 예상되는 2026년형 iPhone에서 더 큰 저장 용량을 지원할 수도 있습니다. 업계 체인의 최근 폭로는 Apple이 QLCNAND 교체를 가속화하여 내장 스토리지 상한선을 2TB로 높이고 있다는 것입니다. QLC를 사용하는 이유는 Apple의 비용 관리와 관련이 있을 수 있습니다. 실제로 앞서 애플이 저장 용량을 변경해(아이폰 16에서 지원) 더 이상 3단 셀(TLC) NAND 플래시 메모리를 사용하지 않고 저장 용량이 1TB인 모델에는 4단 셀을 사용할 수도 있다는 소식이 있었다. (QLC) NAND 플래시 메모리. TLC와 비교했을 때 QLC의 장점은 각 메모리 셀이 4비트의 데이터를 저장할 수 있다는 것입니다.

화웨이는 하반기 자체 플랫폼인 홍멍(Hongmeng)으로 전면 전환하고 안드로이드를 완전히 포기할 것으로 알려졌다. 화웨이는 하반기 자체 플랫폼인 홍멍(Hongmeng)으로 전면 전환하고 안드로이드를 완전히 포기할 것으로 알려졌다. Jun 03, 2024 pm 12:39 PM

13일(현지시간) 최신 소식에 따르면 화웨이는 올 하반기 자체 플랫폼인 하모니OS(HarmonyOS)로 전면 전환하고 안드로이드 시스템을 포기할 예정이다. 보고서는 HarmonyOS의 다음 버전이 화웨이의 곧 출시될 Mate70 플래그십 시리즈와 함께 출시될 것으로 예상된다고 언급했습니다. HarmonyOSNext는 알리페이(Alipay), 맥도날드(McDonald's) 등을 포함해 4,000개 애플리케이션으로 확장한 것으로 알려졌다. 소식통에 따르면 HarmonyOSNext 애플리케이션의 총 수는 올해 안에 5,000개로 늘어날 것이며, Huawei의 목표는 단기적으로 500,000개에 도달하는 것입니다. HarmonyOSNext는 처음부터 설계되었으며 운영 체제는 Huawei가 독립적으로 개발했습니다. 이 코드 세트는 원래 IoT 장치용으로 작성되었지만

외관은 믿어지지 않습니다! 삼성 갤럭시 Z 플립6 렌더링 공개 : 총 4가지 색상 외관은 믿어지지 않습니다! 삼성 갤럭시 Z 플립6 렌더링 공개 : 총 4가지 색상 Jun 29, 2024 am 04:50 AM

28일 뉴스에 따르면 해외 유통업체들은 최근 삼성전자 갤럭시Z플립6의 고화질 렌더링을 사전 공개했다. 1. 삼성 갤럭시 ZFlip6은 그린, 실버, 블루, 옐로우 4가지 색상으로 출시되며 ZFlip5와 동일할 것으로 예상되며 삼성몰에서만 독점 판매됩니다. 사진에 따르면 ZFlip6의 프레임 디자인은 더 좁아지고, 접었을 때 휴대폰의 너비가 줄어들어 더욱 편안한 그립감과 휴대성을 제공할 예정입니다. ZFlip6는 좀 더 정사각형 모양으로 바뀌었고 뒷면의 카메라 모듈이 크게 올라와 카메라 센서가 업그레이드되었음을 나타냅니다. 성능 구성 측면에서 ZFlip6에는 Snapdragon 8Gen3, 8GB/12GB 메모리 및 256GB/512GB 저장 공간이 탑재됩니다. 삼성전자는 ZFlip6 시리즈가 7월 10일 공식 출시될 것이라고 공식 발표했습니다.

Snapdragon 8 Gen4는 진정한 전체 화면입니다! Nubia Z70 Ultra 매개변수 최초 공개: 등록된 1.5K 언더스크린 전면 카메라 Snapdragon 8 Gen4는 진정한 전체 화면입니다! Nubia Z70 Ultra 매개변수 최초 공개: 등록된 1.5K 언더스크린 전면 카메라 Aug 08, 2024 pm 06:48 PM

8월 8일 뉴스에 따르면, 오늘 디지털 블로거 @Smart Pikachu는 Nubia의 새로운 진정한 전체 화면 플래그십이 계속해서 준 1.5K 언더스크린 전면 기술을 탑재할 것이며 Nubia Z70 Ultra가 탑재될 것으로 예상된다고 밝혔습니다. Snapdragon 8Gen4 모바일 플랫폼. 누비아 Z 시리즈의 진정한 풀스크린 디자인은 누비아 Z50 울트라(Nubia Z50 Ultra) 이후 출시된 후속 제품인 Z60 울트라(Z60 Ultra) 역시 이 컨셉을 계승하고 있다. Quasi-1.5K 해상도 이 모델의 화면 해상도는 2480x1116에 이르렀으며 이는 1.5K에서 1080P 해상도 사이이며 quasi-1.5K라고 할 수 있습니다. 언더스크린 프로액티브 기술 작년에 ZTE의 1.5K 언더스크린 프로액티브 기술 개발 소식이 있었지만, 연구 개발 주기의 길이를 고려하면 현재는

초음파지문 대중화! OnePlus 13 최신 뉴스: 6000mAh 이상의 대용량 배터리가 기본으로 제공됩니다. 초음파지문 대중화! OnePlus 13 최신 뉴스: 6000mAh 이상의 대용량 배터리가 기본으로 제공됩니다. Aug 07, 2024 pm 08:31 PM

8월 6일자 뉴스에 따르면, 유명 디지털 블로거 @Smart Pikachu의 최근 소식에 따르면 OnePlus 13과 OnePlus Ace5 모두 6000mAh 이상의 대용량 배터리를 테스트하고 초음파 지문 인식 기술을 대중화하고 있습니다. 실제로 원플러스가 에이스3 프로에 출시한 글레이셔 배터리는 성능 플래그십 최초로 배터리 용량을 6100mAh 이상으로 늘린 것이 좋은 평가를 받았다. 올해 휴대폰 제조업체. 이번에 OnePlus 13과 OnePlus Ace5는 Glacier 배터리 기술을 계승하고 6000mAh 이상의 배터리를 탑재한 대용량 배터리를 계속 선보일 예정입니다. 동시에 원플러스는 초박형 지문인식을 대중화한 뒤 국산 초음파 지문인식 모듈을 선보이며 다시 한 번 업계 트렌드를 선도할 예정이다. 배터리 업그레이드 외에도 OnePlus 13에는 다음이 함께 제공됩니다.

See all articles