我想允許基於Web的CMS用戶上傳Flash文件並將其包含在內容中。我可能會使用SWFObject渲染閃光燈,但我需要寬度和高度。我可以通過C#在上傳時確定這些嗎?您可以確定Flash/SWF對象服務器端的寬度和高度嗎?
謝謝。
我想允許基於Web的CMS用戶上傳Flash文件並將其包含在內容中。我可能會使用SWFObject渲染閃光燈,但我需要寬度和高度。我可以通過C#在上傳時確定這些嗎?您可以確定Flash/SWF對象服務器端的寬度和高度嗎?
謝謝。
有可能是一個簡單的方法,但是,
你可以從http://blogs.msdn.com/mswanson/archive/2006/10/15/example-c-code-for-reading-flash-swf-files.aspx下載「FlashTools.zip」和編譯項目。然後添加對「FlashTools.dll」程序集的引用。然後你可以使用下面的高度/寬度:
SWFFile swf = new SWFFile(fileLocation);
Response.Write("Height:" + swf.FrameHeight/20 + " Width:" + swf.FrameWidth/20);
我測試過了,它顯示了正確的信息。
也許你也應該給用戶選擇手動輸入每個SWF的寬度和高度(以及從SWF字節碼中自動檢測的選項)。
我提到這一點是因爲SWF文件大多設計爲嵌入在HTML中,並且SWF的舞臺大小(尺寸的Flash術語)並不總是用於該內容的嵌入大小 - 某些SWF被設計自動調整其內容大小以匹配它們嵌入HTML中的方式,因此這些SWF的實際舞臺寬度和高度可能無關緊要。
+1這真的很有用。對於其他人爲什麼需要將它除以20而感到困惑,`swf`文件使用[twips](http://en.wikipedia.org/wiki/Twip)作爲度量單位。 – wsanville 2011-12-14 15:15:02