2012-06-29 84 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