Я написал приложение, в котором SWF хранится на моем локальном диске для примера C: /uploads/demo/demo.swf, и я встроил SWF-файл в свой JSP ,Cant open SWF-файл, встроенный в JSP в любом браузере
Но когда я запускаю свое приложение, SWF не открывается в любом браузере, но удивительно, что SWF-файл открывается при запуске в браузере Eclipse по умолчанию.
По соображениям безопасности я знаю, что приложение не может получить доступ к файлам за пределами его развернутых папок, но для чего это работает.
Вот мой код
<%@ 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>
я был бы очень признателен, если кто-то может помочь.
Спасибо за ур ответ, он решил мою проблему, я не могу положить его в webroot, так как мои SWF-файлы генерируются динамически во время выполнения, поэтому второе решение, т.е. создание сервлета для чтения байтов, а затем запись этих байтов в ответ сработало для меня. :) – Rahuul