我正在创建这个网站,允许用户上传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
答案 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>
试试这个并告诉我们