[javascript] 모바일 디바이스의 파일 공유 기능 활용하기

모바일 디바이스는 우리에게 편리한 기능을 제공합니다. 이 중 파일 공유 기능은 다른 사용자나 다른 디바이스와 파일을 쉽게 공유할 수 있게 해줍니다. 이번 글에서는 JavaScript를 사용하여 모바일 디바이스의 파일 공유 기능을 활용하는 방법에 대해 알아보겠습니다.

1. File API 사용하기

JavaScript에서는 File API를 통해 파일을 읽고 쓸 수 있습니다. 이를 활용하여 파일 공유 기능을 구현할 수 있습니다. File API는 모든 주요 모바일 브라우저에서 지원됩니다.

아래는 파일을 선택하고 선택한 파일의 내용을 출력하는 간단한 예제 코드입니다.

<input type="file" id="file-input" />
<pre id="file-content"></pre>

<script>
  document.getElementById("file-input").addEventListener("change", function(event) {
    var file = event.target.files[0];
    var reader = new FileReader();

    reader.onload = function(event) {
      var content = event.target.result;
      document.getElementById("file-content").textContent = content;
    };

    reader.readAsText(file);
  });
</script>

위 코드에서는 <input type="file" /> 요소를 통해 파일을 선택하게 되면 change 이벤트가 발생합니다. 이벤트 핸들러에서는 File 객체를 가져와 FileReader를 사용하여 파일의 내용을 읽어오고 file-content 요소에 출력하게 됩니다.

2. 파일 공유 기능 추가하기

파일 공유 기능은 navigator.share API를 사용하여 추가할 수 있습니다. 이 API는 모바일 디바이스의 공유 기능을 사용할 수 있는지 여부를 확인한 다음, 사용 가능한 경우 사용자에게 파일을 공유할 수 있는 옵션을 제공합니다.

아래는 파일을 선택하고 선택한 파일을 공유하는 예제 코드입니다.

<input type="file" id="file-input" />

<script>
  document.getElementById("file-input").addEventListener("change", function(event) {
    var file = event.target.files[0];

    if (navigator.canShare && navigator.canShare({ files: [file] })) {
      navigator.share({ files: [file] })
        .then(() => console.log("파일이 성공적으로 공유되었습니다."))
        .catch((error) => console.error("파일 공유 중 오류가 발생했습니다: ", error));
    } else {
      console.warn("이 디바이스에서는 파일 공유 기능을 사용할 수 없습니다.");
    }
  });
</script>

위 코드에서는 navigator.canShare 메소드로 현재 디바이스가 파일 공유 기능을 지원하는지 확인합니다. 파일 공유 기능을 지원하는 경우 navigator.share 메소드를 사용하여 파일을 공유합니다. 파일 공유가 성공적으로 이루어지면 then 블록이 실행되고, 오류가 발생한 경우 catch 블록이 실행됩니다.

마무리

이 문서에서는 JavaScript를 사용하여 모바일 디바이스의 파일 공유 기능을 활용하는 방법에 대해 알아보았습니다. File API를 사용하여 파일을 읽고 쓸 수 있으며, navigator.share API를 사용하여 파일 공유 기능을 추가할 수 있습니다. 이러한 기능들을 활용하여 사용자들과의 파일 공유를 편리하게 구현해보세요!

참고 자료