programing

대량 업로드:카메라에서 바로 업로드 하는 방법 (모바일 기기에)

muds 2023. 9. 14. 00:02
반응형

대량 업로드:카메라에서 바로 업로드 하는 방법 (모바일 기기에)

저는 사용자들이 제 워드프레스 웹사이트에 이미지를 업로드할 수 있도록 플업로드를 사용하고 있습니다.

사용자가 '파일 선택'을 클릭하고 휴대폰 갤러리에서 이미지를 선택하면 이미지의 파일 이름이 화면에 나타납니다.그러면 사용자는 'Upload files(파일 업로드)'를 클릭하여 업로드를 시작할 수 있습니다.

나의 문제

사용자가 '파일 선택'을 클릭하고 카메라폰으로 사진을 찍으면 이미지의 파일 이름이 화면에 나타나지 않습니다.이 경우 사용자가 'Upload files(파일 업로드)'를 클릭하려고 하면 아무 일도 일어나지 않습니다.어떻게 해결할 수 있습니까?

메모들

태블릿이나 데스크톱을 사용해도 문제가 전혀 발생하지 않습니다.

갱신하다

테스트는 두 개의 모바일 장치를 사용하여 이루어졌습니다.

  1. Android 4.2.2를 실행하는 Samsung Galaxy S4 Mini의 Chrome
  2. Android 4.1.2를 실행하는 Samsung Galaxy Ace II의 Chrome

다음은 제가 사용하고 있는 코드의 데모입니다. http://jsfiddle.net/djydce90/

나의 대본

var uploader = new plupload.Uploader({
  runtimes : 'html5,flash,silverlight,html4',
  browse_button : 'pickfiles',
  container: document.getElementById( 'container' ),
  url : "/examples/upload",
  filters : {
    max_file_size : '10mb',
    mime_types: [
      {title : "Image files", extensions : "jpg,gif,png"},
      {title : "Zip files", extensions : "zip"}
    ]
  },
  flash_swf_url : '/plupload/js/Moxie.swf',
  silverlight_xap_url : '/plupload/js/Moxie.xap',
  init: {
    PostInit: function() {
      document.getElementById('filelist').innerHTML = '';

      document.getElementById('uploadfiles').onclick = function() {
        uploader.start();
        return false;
      };
    },
    FilesAdded: function(up, files) {
      plupload.each(files, function(file) {
        document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';
      });
    },
    UploadProgress: function(up, file) {
      document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
    },
    Error: function(up, err) {
      document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
    }
  }
});

uploader.init();

나의 HTML

<script src="https://rawgit.com/moxiecode/plupload/master/js/plupload.full.min.js"></script>
<div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
<br />
<div id="container">
  <a id="pickfiles" href="javascript:;">[Select files]</a>
  <a id="uploadfiles" href="javascript:;">[Upload files]</a>
</div>

참조: http://www.plupload.com/examples/core

문제는 이미지를 캡처하는 방법에서 비롯됩니다.안드로이드는 사진을 찍을 때 비트맵 개체를 제공하므로 파일 대신 해당 비트맵을 업로드해야 합니다.메모리에서 파일을 선택하면 해당 경로가 전송되지만 캡처할 때 사진 데이터를 자세히 제공합니다. 따라서 파일을 업로드하는 대신 해당 사진 데이터를 업로드해야 합니다.플러플로드가 이것을 처리할 수 있는지 아닌지는 정확히 모르겠지만 이 링크를 통해 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/26662881/plupload-how-to-upload-directly-from-a-camera-on-mobile-devices

반응형