【问题标题】:Javascript Upload to selfJavascript上传到自己
【发布时间】:2011-02-01 05:17:36
【问题描述】:

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

【问题讨论】:

  • 您的问题令人困惑:您想“上传文件”然后“不在服务器上”播放它?首先你想要它在服务器上,然后你不想......?
  • 对于那些现在正在查看此页面以寻求问题答案的人,如果您正在寻找如何上传 mp3 并在 html5 音频标签中播放,请查看此工作答案: stackoverflow.com/a/47584467/6901876

标签: javascript ajax audio upload html


【解决方案1】:

您可以使用 File API 从 JavaScript 读取本地文件。我认为只有 Firefox >= 3.6 实现了它,它仍然是一个工作草案。

Demo(如果你在 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 2019-11-19
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多