Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在任何浏览器中打开嵌入在JSP中的SWF文件_Jsp_Flash_Swfobject - Fatal编程技术网

无法在任何浏览器中打开嵌入在JSP中的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

我已经编写了一个应用程序,其中SWF存储在本地驱动器上,例如C:/uploads/demo/demo.SWF,并且我已经将SWF文件嵌入到JSP中

但当我运行应用程序时,SWF不会在任何浏览器中打开,但令人惊讶的是,当我在Eclipse的默认浏览器中运行时,SWF文件会打开

出于安全原因,我知道该应用程序无法访问其已部署文件夹之外的文件,但解决方法是什么

这是我的密码

 <%@ 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来读取字节,然后写入这些字节作为响应,这对我来说很有用。:)