Javascript上传到self

Javascript上传到self,javascript,ajax,audio,upload,html,Javascript,Ajax,Audio,Upload,Html,如何上传文件并以javascript获取其内容。例如,我想上传一个mp3并在html5音频标签中播放,而不需要在服务器上播放。这可能吗?上传文件时,javascript无法(没有插件支持)访问该文件。要执行您要求的操作,您必须实际将文件上载到服务器,然后让您的javascript成为服务器的客户端来检索文件,然后播放它。您可以使用。我认为只有Firefox>=3.6实现了它,它仍然是一个工作草案 演示(如果您在Firefox中试用,它只支持.wav和.ogg音频文件): 玩 函数播放(){ v

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

上传文件时,javascript无法(没有插件支持)访问该文件。要执行您要求的操作,您必须实际将文件上载到服务器,然后让您的javascript成为服务器的客户端来检索文件,然后播放它。

您可以使用。我认为只有Firefox>=3.6实现了它,它仍然是一个工作草案

演示(如果您在Firefox中试用,它只支持.wav和.ogg音频文件):


玩
函数播放(){
var file=document.getElementById(“输入”).files[0];
var reader=new FileReader();
reader.onload=函数(e){
var audio=新音频(如target.result);
音频播放();
}
reader.readAsDataURL(文件);
}

另请参见developer.mozilla.org/en/Using_files_from_web_applications

您的问题令人困惑:您想“上传一个文件”,然后“不在服务器上”播放它?首先,你想把它放在服务器上,然后你不想…?对于那些现在正在查看此页面以获得问题答案的人,如果你特别想了解如何上传mp3并在html5音频标签中播放,请查看以下工作答案:
<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>