1

我正在使用 sql server 2008 中的 Filestream 来存储来自 asp.net Web 应用程序的图像和视频文件。到目前为止,我能够上传一些图像和视频文件并将它们存储在启用 Filestream 的 sql server 数据库中。

但是当我想将图像和视频文件都显示回我的应用程序时。我能够获取图像文件并将它们显示在应用程序中。但我无法从我的应用程序中检索视频文件并在 JW Player 中播放它们。

到目前为止,我已经完成了以下工作: 我有一个带有 gridview 控件的 .aspx Web 表单。在此 Web 表单的代码隐藏中,我为 gridview 控件绑定了数据,如下所示:

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["tmmaConnectionString"].ConnectionString);
        SqlCommand command = new SqlCommand("SELECT ID, ProgramTitle,ProgramVideoName, ProgramId from [tblProgramContent] where programId="+progId, connection);
        SqlDataAdapter ada = new SqlDataAdapter(command);
        ada.Fill(dt);
        GVVideos.DataSource = dt;
        GVVideos.DataBind();

我的 gridview 控件如下所示

    <asp:GridView ID="GVVideos" runat="server" AutoGenerateColumns="false">
            <Columns>
                 <asp:BoundField HeaderText = "Program File Name" DataField="ProgramVideoName" />
                <asp:BoundField HeaderText = "Program Title" DataField="ProgramTitle" />
                <asp:TemplateField HeaderText="Program Video">
                <ItemTemplate>
                     <!--<asp:Image ID="Image1" runat="server" ImageUrl='<%= "GetProgram.ashx?prog-Id="+ Eval("ProgramId") %>'/>
                      <asp:LinkButton ID="lbGetFile" runat="server" CommandName="GetFile" CommandArgument='<%#Eval("ProgramId") %>' ><img src='<%#Eval("ProgramId") %>.jpg' /></asp:LinkButton>-->
                   <div id="play-video" >
                      <a href="" id="play-prog">  <%#Eval("ProgramVideoName") %> </a>
                      <embed
                            flashvars="file=<%# "GetProgram.ashx?prog-Id="+ Eval("ProgramId") %> "
                            allowfullscreen="true"
                            allowscripaccess="always"
                            id="player1"
                            name="player1"
                            src="Scripts/jwplayer/player.swf"
                            width="200"
                            height="180"
                        /> 
                        </div>
                </ItemTemplate>
             </asp:TemplateField>
</Columns>
        </asp:GridView>

我已经传递了<%# "GetProgram.ashx?prog-Id="+ Eval("ProgramId") %>接受程序 ID 的 HTTP 处理程序,然后将相应的视频文件返回给客户端。但这不会返回视频文件并将其嵌入到 JW 播放器中。有没有更好的方法来做到这一点,或者我应该对上述示例程序进行哪些修改?

4

0 回答 0