从 Azure Blob 存储检索和显示视频到 Flask Python,再到 HTML/JS?
Retrieval and display Video from Azure Blob Storage, to Flask Python, to HTML/JS?
我有一个位于 ADLS Gen2 存储帐户中的 .mp4 视频文件,我试图在一个简单的 Flask webapp 中显示它。为了简单起见,我对所有 URL 进行了硬编码,直到我能够让它工作。
当我在连接字符串中输入没有SAS的URL时,网页显示:ResourceNotFoundThe specified resource does not exist. RequestId:xxxx-xxxx-xxxx-xxxx-xxxx Time:xxxx
.
当我将 SAS 附加到 URL 的末尾时,我的浏览器下载了文件,但它没有在页面上显示它。
我正在尝试在浏览器中显示视频,并且能够播放它(在浏览器中)。以下是我的代码,任何输入都非常感谢!
@app.route('/playVideo/', methods=['GET'])
def playVideo():
return render_template('playVideo.html')
{% extends 'base.html' %}
{% block content %}
<h1>Hello world!</h1>
<iframe src="https://mystorageaccount.blob.core.windows.net/video/xxx-xxx-xxx/xxx-xxx-xxx..mp4" width="853" height="480" frameborder="0" allowfullscreen></iframe>
{% endblock %}
When I enter the URL without a SAS in the connection string, the
webpage displays: ResourceNotFoundThe specified resource does not
exist. RequestId:xxxx-xxxx-xxxx-xxxx-xxxx Time:xxxx.
发生这种情况是因为 blob 容器的 ACL 设置为 Private
。如果您想直接通过 URL 访问 blob,则需要将 blob 容器的 ACL 设置为 Blob
或 Public
.
When I append the SAS to the end of the URL, my browser downloads the
file, but it doesn't display it on the page.
请检查 blob 的内容类型 属性。十有八九,它被设置为application/octet-stream
。更新 blob 属性 并将其内容类型 属性 更改为 video/mp4
,这应该可以解决这个问题。
我有一个位于 ADLS Gen2 存储帐户中的 .mp4 视频文件,我试图在一个简单的 Flask webapp 中显示它。为了简单起见,我对所有 URL 进行了硬编码,直到我能够让它工作。
当我在连接字符串中输入没有SAS的URL时,网页显示:ResourceNotFoundThe specified resource does not exist. RequestId:xxxx-xxxx-xxxx-xxxx-xxxx Time:xxxx
.
当我将 SAS 附加到 URL 的末尾时,我的浏览器下载了文件,但它没有在页面上显示它。
我正在尝试在浏览器中显示视频,并且能够播放它(在浏览器中)。以下是我的代码,任何输入都非常感谢!
@app.route('/playVideo/', methods=['GET'])
def playVideo():
return render_template('playVideo.html')
{% extends 'base.html' %}
{% block content %}
<h1>Hello world!</h1>
<iframe src="https://mystorageaccount.blob.core.windows.net/video/xxx-xxx-xxx/xxx-xxx-xxx..mp4" width="853" height="480" frameborder="0" allowfullscreen></iframe>
{% endblock %}
When I enter the URL without a SAS in the connection string, the webpage displays: ResourceNotFoundThe specified resource does not exist. RequestId:xxxx-xxxx-xxxx-xxxx-xxxx Time:xxxx.
发生这种情况是因为 blob 容器的 ACL 设置为 Private
。如果您想直接通过 URL 访问 blob,则需要将 blob 容器的 ACL 设置为 Blob
或 Public
.
When I append the SAS to the end of the URL, my browser downloads the file, but it doesn't display it on the page.
请检查 blob 的内容类型 属性。十有八九,它被设置为application/octet-stream
。更新 blob 属性 并将其内容类型 属性 更改为 video/mp4
,这应该可以解决这个问题。