Javascript上传到自己

时间:2010-03-26 14:52:37

标签: javascript ajax audio upload html5

如何上传文件并在javascript中获取其内容。例如,我想上传一个mp3并在html5音频标签中播放它,而不是在服务器上。这可能吗?

2 个答案:

答案 0 :(得分:2)

您可以使用File API从JavaScript中读取本地文件。我认为只有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 :(得分:1)

上传文件时,javascript无法(没有插件支持)获得对文件的访问权限。要做你想要的,你必须实际上传文件到服务器,然后让你的javascript成为服务器的客户端来检索文件,然后播放它。