上传前预览SWF文件

时间:2012-06-29 07:16:20

标签: javascript html flash filereader

我正在创建这个网站,允许用户上传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并且它有效。 因此,可能有一种不同的方式从本地PC读取数据。

非常感谢任何反馈。

谢谢, artsylar

2 个答案:

答案 0 :(得分:1)

最后,在阅读了File API文档之后。我能够使它工作,但只能在本地电脑上工作,但不能在服务器上工作。

我使用window.URL.createObjectURL(file)获取文件的url并将其传递给embed元素的src属性。

答案 1 :(得分: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>

试试这个并告诉我们