1

こんにちは!

Web ビデオ プレーヤーで実行時にビデオのパスに基づいてビデオを再生する際に問題があります。ASPコードがあります:

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<video src='<%# GetVideoPlayUrl(Eval("id")) %>' width="900" height="400" 
 controls="" preload=""></video>
</ItemTemplate>
</asp:Repeater>

このようにデータベースに保存されているデータベースにビデオパスがあります~\StoreVideo\VQOFY.mp4

protected string GetVideoPlayUrl(object Id)
{
        int id = Convert.ToInt32(Id);
        string ret = "";
        ret = "" + VideoUploads.GetVideoPath(id) + "";
        return ret; I'm return value `~\StoreVideo\VQOFY.mp4`
}

動画がプレーヤーにアップロードされない 私もこれを試しました

protected string GetVideoPlayUrl(object Id)
{
        int id = Convert.ToInt32(Id);
        string ret = "";
        ret = "" + VideoUploads.GetVideoPath(id).Replace("~\\","").Replace("\\","/") + "";
        return ret; I'm return value `StoreVideo/VQOFY.mp4`
}

まだ機能していません。どこが間違っているのかわかりません。この問題について本当に助けが必要です。私がここでやっている間違いが何であるかを知るために。間違いだった私のコードで私を修正してください.何人かの仲間がそれで私のために解決策を持っていることを願っています.

ありがとうございました

4

1 に答える 1

0

~/ で始まる URL は、クライアント側で使用する前に「解決」する必要があります (<video>要素はクライアント側の HTML 要素であり、サーバー上の ASP.NET を認識しません)。src属性内で次のコードを試してください。

<%# ResolveUrl(GetVideoPlayUrl(Eval("id"))) %>

"~/videos/some-video.mp4"メソッドから戻っている場合GetVideoPlayUrl(id)、 への呼び出しはそれResolveUrl()を「翻訳」"../../videos/some-video.mp4""videos/some-video.mp4"ます。それはすべて、ファイルの場所に対して現在のページがどこにあるかによって異なります。

ASPX ページからビデオ ファイルへの (相対) パスが正しいことを、最終的な HTML で確認する必要があります。

于 2013-08-04T07:57:28.503 に答える