Ubuntu 中 JS 的文件路径

Ubuntu 中 JS 的文件路径

这也许可能重复,但没有发现与我完全相同的问题。

我有一个 Ubuntu 服务器,它在 Apache 上运行 Flask,问题是我有下一个路径:

 /var/www/someapp/video.mp4. And app.py file inside 
 /var/www/someapp/app.py and inside of this file I need to access

到此video.mp4文件。我尝试通过以下方式访问它:

'/var/www/someapp/video.mp4' or '/video.mp4' or './video.mp4' 

但什么都没起作用。浏览器显示

404 或 NS_BINDING_ABORTED。

我猜想访问这些文件存在问题,但不确定具体原因。
有什么建议可以解释为什么无法正常工作以及如何修复它?

答案1

Flask 自动提供来自 Static 的文件,因此您应该将视频移动到静态子目录:

/var/www/someapp/static/video.mp4

然后在你的 Flask 中使用 url_for 引用该文件,但首先导入 url_for

from flask import url_for

video_url = url_for('static', filename='video.mp4')

使用 video_url 引用您的文件:

<video src="{{ video_url }}" controls>
    Your browser does not support the video tag.
</video>

然后配置 Apache 并添加Alias指向保存视频的文件夹的 URL 路径:

Alias /videos /var/www/someapp/static
<Directory /var/www/someapp/static>
    Require all granted
</Directory>

然后重新启动Apache: sudo service apache2 restart

确保视频和父目录的文件权限允许读取该文件。您可以使用以下方法执行此操作:

sudo chown -R www-data:www-data /var/www/someapp/static
sudo chmod -R 755 /var/www/someapp/static

相关内容