嗨,我很难从远程服务器获取文件路径。这里有人可以帮助我吗?
我想要实现的是播放已保存在远程服务器中的音频文件。
这就是我的代码现在的样子。这还没有奏效。
<audio controls>
<source
src="user@host:/file/path/from/remote/server/{{record.filename}}" type="audio/ogg">
</audio>
我想知道的是我怎样才能得到这条道路user@hostname:/file/path/from/remote/server
我正在使用 Django 和 Python。
非常感谢任何可以提供帮助的人!
您必须从 views.py 函数渲染模板(您在问题中显示的部分(。在该视图中,将文件下载到本地:
import requests
# Before rendering the template
r = requests.get("user@host:/file/path/from/remote/server/" + record.filename)
local_file = "/path/on/local/" + record.filename
with open(local_file, 'wb') as f:
f.write(r.content)
# Now pass the location of the local file in template render
...render(local_file = local_file)
在模板中,相应地更改
<audio controls>
<source
src="{{local_file}}" type="audio/ogg">
</audio>
现在,如果您担心本地内存或混乱,则无需一次下载所有文件。此外,为了提高效率,您可以通过在记录中引入布尔"下载"字段来维护所有下载文件的映射。然后,您可以在下载前检查此字段,并且仅在本地尚未下载时才下载。