2012-09-12 32 views
0

我目前正在使用的語法如下src="@Html.C1().MediaUrl(b.SWFFile)"複合C1 - 顯示上載的SWF文件

但正在輸出是

src="/media/0f923295-713b-418d-afbf-17675cdb6d9e/Banner Ads/Flash/728x90_swf" 

爲什麼複合C1改變文件的路徑,以顯示SWF文件擴展到_swf?我是否使用了錯誤的函數來引用媒體文件?

+0

請不要雙擊後http://compositec1.codeplex.com/discussions/395257 –

回答

1

有在建的媒體的網址,不是使用擴展的原因有二:

1)如果你正在運行IIS6 IIS7或經典模式,IIS可能沒有渠道請求ASP.NET(因爲的延期),因此C1將無法提供服務。

2)在IIS7的默認設置中有很多擴展,它的存在使得IIS返回404(如.config,.master和.cs)。

我想你有一個Flash播放器沒有播放文件的問題,這裏報告的問題是http://compositec1.codeplex.com/workitem/1379,它可能是下一個版本的地址。

現在,我建議使用下面的代碼生成閃光的網址作爲一種解決方法

protected string GetMediaUrl(string mediaPath) 
{ 
    string[] parts = mediaPath.Split(new[] { ':' }); 

    string mediaStore = parts[0]; 
    Guid mediaId = new Guid(parts[1]); 

    string mediaUrl = MediaUrls.BuildUrl(new MediaUrlData { MediaStore = mediaStore, MediaId = mediaId, QueryParameters = new NameValueCollection() }, 
             UrlKind.Public); 

    // Temporary fix, allows media player to receive a nice url with an extension 
    return mediaUrl.Replace("_jpg", ".jpg").Replace("_mov", ".mov").Replace("_m4v", ".m4v").Replace("_swf", ".swf"); 
}