在listview中显示视频文件,在asp.net中保持下载选项

时间:2014-07-19 17:41:07

标签: c# asp.net

我的概念是关于stegnography。我想播放视频文件并保留下载选项。如果客户端点击下载按钮,则应下载视频和注册消息。

我使用了以下代码

in .cs

 DirectoryInfo dir = new DirectoryInfo(MapPath("~/Video"));
    FileInfo[] files = dir.GetFiles();
    ArrayList listItems = new ArrayList();
    foreach (FileInfo info in files)
    {
        listItems.Add(info);
    }
    DataList1.DataSource = listItems;
    DataList1.DataBind();

设计      

        Font-Names="Verdana" Font-Size="Small" RepeatColumns="3" RepeatDirection="Horizontal"

        Width="600px" ForeColor="#333333">                
                <ItemTemplate>                

            <br />          
            <b>Song Name:</b>
            <asp:Label ID="lblCName" runat="server" Text='<%# Bind("name") %>'></asp:Label>
            <br />
          <video controls="controls"  width="200" height="200" src='<%# Eval ("name","Video/{0}") %>'></video>
            <br />
            <b>Download:</b>
           <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("name") %>'></asp:LinkButton>              


        

这里的下载选项不起作用,任何1都可以为这个PLZ提供一些想法。

1 个答案:

答案 0 :(得分:0)

下载大文件(如视频)的最佳[*]方法是使用处理程序。

因此,您创建了一个发送文件的处理程序,并在url上发送要下载的文件的参数。例如,您可以执行以下操作:

 <b>Download:</b> <a target="_blank" href="download.ashx?name=<%#Eval("name") %>'>"><%#Eval("name") %>'></a>

在处理程序download.ashx上,您读取参数“name”并发送该文件。

这也可以帮到你:
What is the best way to download file from server
asp.net ashx handler prompting download instead of displaying file
files download using HTTP Handler

[*]为什么最好的方法是使用手枪?:

  1. 将最少的代码与aspx页面进行比较。
  2. 明确返回 - 仅发送您在输出中呈现的内容。
  3. 没有使用会话,所以感觉不到session lock并且你没有超时