为什么我的元数据无法从 azure container/blobs 正确呈现?
Why is my meta data not being rendered properly from azure container/blobs?
当我尝试从 blob 中提取元数据时,它根本不显示。目前我可以上传音频文件,但是我无法显示它。音频文件作为 blob 存储在 "songsnippets"
下的 "PhotoGallery" 容器中
使用 Web 表单对我来说是新手,通常我会使用 MVC,但我的教育需要使用它。
查看代码 -
<form id="form1" runat="server">
<asp:ScriptManager ID="sm1" runat="server" />
<div>
Upload Song:
<asp:FileUpload ID="upload" runat="server" />
<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" />
</div>
<div>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<asp:ListView ID="ThumbnailDisplayControl" runat="server">
<ItemTemplate>
<audio src='<%# Eval("Url") %>' controls="" preload="none"></audio>
<asp:Literal ID="label" Text='<%# Eval("Title") %>' runat="server"/>
</ItemTemplate>
</asp:ListView>
<asp:Timer ID="timer1" runat="server" Interval="1000" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
PagePre 呈现方法背后的代码 -
ThumbnailDisplayControl.DataSource = from o in getPhotoGalleryContainer().GetDirectoryReference("songsnippet").ListBlobs()
select new { Url = o.Uri };
ThumbnailDisplayControl.DataBind();
When I try and pull my metadata from the blob, it does not show at all. Currently I can upload an audio file, however, I cannot get it to display.
根据您 ASP.NET 服务器页面中的代码,我假设您在单击 submitButton
按钮时上传了音频文件,并且您使用 Timer 控件启用部分页面更新定义的时间间隔并更新 ThumbnailDisplayControl
.
内的音频文件列表
据我了解,您需要为 timer1
指定 OnTick,并且在相关的 timer1_Tick
事件中,您需要获取最新的Azure 容器下的音频文件并绑定到 ThumbnailDisplayControl
控件,然后当您访问该页面并按 F12 时,您会看到 ajax 请求每秒发送到您的后端并更新您的 ListView。关于Timer控件的更多细节,可以参考here.
此外,您可以利用 Azure Storage Explorer 检查您上传的音频文件。
当我尝试从 blob 中提取元数据时,它根本不显示。目前我可以上传音频文件,但是我无法显示它。音频文件作为 blob 存储在 "songsnippets"
下的 "PhotoGallery" 容器中使用 Web 表单对我来说是新手,通常我会使用 MVC,但我的教育需要使用它。
查看代码 -
<form id="form1" runat="server">
<asp:ScriptManager ID="sm1" runat="server" />
<div>
Upload Song:
<asp:FileUpload ID="upload" runat="server" />
<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" />
</div>
<div>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<asp:ListView ID="ThumbnailDisplayControl" runat="server">
<ItemTemplate>
<audio src='<%# Eval("Url") %>' controls="" preload="none"></audio>
<asp:Literal ID="label" Text='<%# Eval("Title") %>' runat="server"/>
</ItemTemplate>
</asp:ListView>
<asp:Timer ID="timer1" runat="server" Interval="1000" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
PagePre 呈现方法背后的代码 -
ThumbnailDisplayControl.DataSource = from o in getPhotoGalleryContainer().GetDirectoryReference("songsnippet").ListBlobs()
select new { Url = o.Uri };
ThumbnailDisplayControl.DataBind();
When I try and pull my metadata from the blob, it does not show at all. Currently I can upload an audio file, however, I cannot get it to display.
根据您 ASP.NET 服务器页面中的代码,我假设您在单击 submitButton
按钮时上传了音频文件,并且您使用 Timer 控件启用部分页面更新定义的时间间隔并更新 ThumbnailDisplayControl
.
据我了解,您需要为 timer1
指定 OnTick,并且在相关的 timer1_Tick
事件中,您需要获取最新的Azure 容器下的音频文件并绑定到 ThumbnailDisplayControl
控件,然后当您访问该页面并按 F12 时,您会看到 ajax 请求每秒发送到您的后端并更新您的 ListView。关于Timer控件的更多细节,可以参考here.
此外,您可以利用 Azure Storage Explorer 检查您上传的音频文件。