首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java读取SWF并输出到浏览器SocketCloseException

Java读取SWF并输出到浏览器SocketCloseException
EN

Stack Overflow用户
提问于 2013-12-18 22:29:18
回答 1查看 108关注 0票数 0

用于读取swf的函数,我也将其用于图像,但图像加载正常:

代码语言:javascript
复制
public static InputStream readImage(String file) throws IOException {
    InputStream input = new FileInputStream(file);

        return input;
}

这里是输出的最后一个函数,我在这里传递输入流:

代码语言:javascript
复制
  public static void writeImage(InputStream input) {

    try
    {
        byte[] buffer = new byte[1024];
        byte[] bytesSend;
        int bytesRead;
        /*
        while ((bytesRead = input.read(buffer)) != -1)
        {
            responseBody.write(buffer, 0, bytesRead);
        }
        */
        IOUtils.copy(input, responseBody);
        responseBody.flush();
        responseBody.close();
    }
    catch(IOException e)
    {
        System.out.println("bbbb");
        e.printStackTrace(System.out);

    }

  }

我尝试同时使用IOUtils.copywhile loop,得到以下错误:

代码语言:javascript
复制
sun.net.httpserver.StreamClosedException

java.nio.channels.AsynchronousCloseException

SWF文件也有加载的模块,因此有4-5个swf请求。

我使用的是哪种服务器实现?

代码语言:javascript
复制
public void run() {
    try
    {
        InetSocketAddress addr = new InetSocketAddress(8080);
        HttpServer server = HttpServer.create(addr, 0);

        server.createContext("/", new MyHandler());
        server.setExecutor(Executors.newCachedThreadPool());
        server.start();
        System.out.println("Server is listening on port 8080" );
    }
    catch(IOException e)
    {
        System.out.println("Http point error");
        System.out.println(e);
    }

}

也许有人对此有一些想法,如果需要的话,我可以提供更多的信息

EN

回答 1

Stack Overflow用户

发布于 2013-12-18 23:00:20

浏览器似乎决定中途停止读取图像文件。

一种可能是您没有在响应中设置正确的内容类型。

另一个原因是你已经安排了浏览器端(例如,在HTML或Javascript中)在一个没有意义的上下文中“获取”SWF文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20660844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档