2012-06-29 85 views
1

我正在創建允許用戶上傳swf文件的此網站。 我想添加一個功能,在上傳之前顯示swf文件, 因此用戶可以確認他/她是否正在上傳正確的文件。在上傳之前預覽SWF文件

我目前使用FileReader :: readAsDataUrl(file)方法,但它不工作。 雖然它可以讀取文件的內容,但好像flash播放器無法正確解釋數據 。它說,「電影未加載」,當你點擊它。

以下是生成的html代碼形式的JavaScript。

<object width="350" height="350" type="application/x-shockwave-flash" data="<!--data-->"> 
    <param name="movie" value="<!--data-->"> 
    <param name="AllowScriptAccess" value="always"> 
</object> 

我試着將數據和值部分更改爲已上載到服務器中的相同文件的URL,並且它工作正常。 所以也許有不同的方式從本地電腦讀取數據。

任何反饋,非常感謝。

感謝, artsylar

+1

在對象標籤中使用嵌入標籤並進行檢查。 –

+0

value =「flvplayer.swf?file = ** video Location **&autoStart = true」將此行添加到第二個參數中。 –

+0

謝謝@AlpeshPrajapati的建議。我不知道在哪裏添加你的第二條評論。我的意思是我應該設置哪個屬性。並flvplayer.swf是我的文件的名稱? – artsylar

回答

0
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="Yourfilename" ALIGN=""> 
    <PARAM NAME=movie VALUE="Yourfilename.swf"> 
    <PARAM NAME=quality VALUE=high> 
    <PARAM NAME=bgcolor VALUE=#333399> 
    <EMBED src="Yourfilename.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="Yourfilename" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> 
</OBJECT> 

試試這個,讓我們知道

+0

感謝@alpesh,但沒有辦法從輸入字段獲取文件完整路徑。這就是爲什麼我唯一的選擇是讀取文件對象並將其傳遞給對象。我能夠在圖像文件和文本文件上做到這一點,但沒有使用swf文件。 – artsylar

+0

這裏只傳遞文件名 –

+0

謝謝@alpesh!最後我能夠使它工作。我遵循你的使用嵌入的建議,然後我使用window.URL.createObjectURL(文件)來獲取URL並將其傳遞給嵌入元素的src屬性。再次感謝! – artsylar

1

最後,讀文件API文檔之後。我能夠使其工作,但只能在本地PC,但不能在服務器。

我使用window.URL.createObjectURL(file)來獲取文件的url,並將其傳遞給嵌入元素的src屬性。

+0

服務器上的問題是什麼? – cs04iz1

+0

嗨! 3年前我遇到過這個問題,我不記得服務器中存在什麼問題。根據我對這篇文章的另一個答案的評論,似乎我能夠使其工作。 「 \t 感謝@alpesh!最後我能夠使它工作。我按照你的建議使用嵌入,然後我用window.URL.createObjectURL(文件)來獲取url並將其傳遞給嵌入元素的src屬性。 再次感謝!」 – artsylar

+0

感謝您花時間回答:) – cs04iz1