我正在尝试制作一个 webapp,它将从远程服务器加载页面,但允许用户从本地驱动器上的文件播放音频(不是从远程服务器下载的)。我能够让它工作,但我还需要它来保存用户为后续访问所做的事情。例如:用户加载一个页面,点击一个“选择文件”按钮,选择一个 mp3,然后播放它。然后用户关闭浏览器,再次打开,返回页面,无需再次选择即可播放相同的音频。
我知道音频播放与用户选择的保存是分开的,但在这种情况下,一个似乎决定了另一个。
我能够获得选择和播放功能来处理这个:
<html><body>
<script type='text/javascript'>
function handleFiles(files){
var file = window.URL.createObjectURL(files[0]);
document.getElementById('audioPlayer').src = file;
}
</script>
<audio id='audioPlayer' controls ></audio>
<input type='file' id='selectedFile'
onchange='handleFiles(this.files)' />
</body></html>
...但我不知道如何以可以在下次访问时自动加载的方式存储所选文件数据。我可以使用什么来存储该文件位置(或者甚至是整个文件本身,如果它涉及到它),以便我仍然可以播放音频而无需用户再次选择文件?
我有点怀疑出于安全原因可能无法以某种方式保存本地文件 url,因为在没有用户交互的情况下从本地文件系统自动播放文件可能是个坏消息。