为什么我的元数据无法从 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 检查您上传的音频文件。