Javascript Загрузить для себя - PullRequest
2 голосов
/ 26 марта 2010

Как я могу загрузить файл и получить его содержимое в JavaScript. Например, я хочу загрузить mp3 и воспроизвести его в аудиотэге html5, не имея его на сервере Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 26 марта 2010

Вы можете читать локальные файлы из JavaScript с помощью File API . Я думаю, что только Firefox> = 3.6 это реализует, и это все еще рабочий проект.

Демонстрация (если вы попробуете это в Firefox, он поддерживает только аудио файлы .wav и .ogg):

<input id="input" type="file">
<button onclick="play()">play</button>
<script>
  function play() {
    var file = document.getElementById("input").files[0];
    var reader = new FileReader();
    reader.onload = function(e) {
      var audio = new Audio(e.target.result);
      audio.play();
    }
    reader.readAsDataURL(file);
  }
</script>

См. Также developer.mozilla.org/en/Using_files_from_web_applications

1 голос
/ 26 марта 2010

При загрузке файлов javascript не может (без поддержки плагинов) получить доступ к файлу. Чтобы сделать то, что вы просите, вы должны загрузить файл на сервер, а затем сделать так, чтобы ваш javascript был клиентом на вашем сервере, чтобы получить файл, а затем воспроизвести его.

...