无法在任何浏览器中打开嵌入在JSP中的SWF文件
我已经编写了一个应用程序,其中SWF存储在本地驱动器上,例如C:/uploads/demo/demo.SWF,并且我已经将SWF文件嵌入到JSP中 但当我运行应用程序时,SWF不会在任何浏览器中打开,但令人惊讶的是,当我在Eclipse的默认浏览器中运行时,SWF文件会打开 出于安全原因,我知道该应用程序无法访问其已部署文件夹之外的文件,但解决方法是什么 这是我的密码无法在任何浏览器中打开嵌入在JSP中的SWF文件,jsp,flash,swfobject,Jsp,Flash,Swfobject,我已经编写了一个应用程序,其中SWF存储在本地驱动器上,例如C:/uploads/demo/demo.SWF,并且我已经将SWF文件嵌入到JSP中 但当我运行应用程序时,SWF不会在任何浏览器中打开,但令人惊讶的是,当我在Eclipse的默认浏览器中运行时,SWF文件会打开 出于安全原因,我知道该应用程序无法访问其已部署文件夹之外的文件,但解决方法是什么 这是我的密码 <%@ page language="java" contentType="text/html; charset=ISO
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.io.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%final String UPLOAD_DIRECTORY = "C:/uploads/";
String uname=(String)session.getAttribute("user");
// out.print(uname);
String uname1="";
boolean flag = false;
String path =UPLOAD_DIRECTORY+uname ;
// out.print(" "+path);
File f = new File(path);
if(f.exists())
{
File[] listOfFiles = f.listFiles();
for (File file : listOfFiles) {
String filename =file.getName();
String ext = filename.substring(filename.indexOf("."));
if (ext.contains(".swf")) {
flag=true;
System.out.println(file.getName());
uname1=file.getPath().replace("\\", "/");
uname1 = "file:///"+uname1;
System.out.println(uname1);
}
}
}
else
{
out.println("Please Sign In after few days.................");
}
if(flag==true)
{
%>
<%}
else
{
out.println("No file to show");
}
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("<%=uname1%>", "myContent", "800", "800", "9.0.0");
</script>
<title>Insert title here</title>
</head>
<body>
<h1><a href="LogoutServlet">Logout</a>
</h1>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
</html>
嵌入swf(“,”myContent“,”800“,”800“,”9.0.0”);
在此处插入标题
替代内容
如果有人能帮上忙,我将不胜感激。把它放在webroot中,并通过
http://...
非file:///...
。或者创建一个servlet,从webroot之外的位置读取文件的字节,并使用适当的mimetype将这些字节写入servlet响应。然后在嵌入代码中引用servlet地址。谢谢你的回答,它解决了我的问题,我无法将它放在webroot中,因为我的swf文件在运行时会动态生成,所以第二个解决方案就是创建一个servlet来读取字节,然后写入这些字节作为响应,这对我来说很有用。:)