Executando SWF [RESOLVIDO]

Pessoal,

Estou com um problema… eu descodifiquei um arquivo swf em Base64 e gostaria de executá-lo… fiz da seguinte forma e não funcionou…

        	byte bytes[];
	        new Base64();
	        
            bytes = Base64.decode(content);
  
            OutputStream fos = response.getOutputStream();
            fos.write(bytes);
            fos.flush();
            response.setContentType("application/x-shockwave-flash");
            fos.close();
 

Como eu faço para executá-lo :?: ? Preciso disto com urgência :cry:

agradeço desde já.

antes de vc dar o flush tem q dizer ao browser o tipo de conteudo vc q mandar, ou seja a ordem das linhas estão trocadas.
Coloque o setContenType como a primeira linha desse seu código.

Obrigada cu_ringa pela sugestão… porém eu já havia feito isso, eu troquei aki realmente as ordens sem querer… :oops: não funciona tbm… :frowning:

Deixa eu ver se vc pode me ajudar, vou explicar melhor…

Eu tenho uma classe Main, onde eu starto o tomcat e chamo o swf referente ao menu… todas as requisições passam por um Filtro o qual verifica se esse arquivo existe no path do projeto ou não… os arquivos q não existem ele chama uma dll a qual busca no banco e me devolve o conteúdo do arquivo codificado em Base64, este por sua vez apssa para a minha classe JNI onde eu descodifico e tenho de executá-lo… é justamente esse conteúdo do miolo descodificado o qual eu não consigo executar…

Alguma sugestão? :cry:

Deixa eu simplificar as coisas…rs

Eu preciso ler um conteúdo binário, que não existe um arquivo físico, é um conteúdo que eu recebo no Servlet e eu apenas mudo o mime type dele para arquivo flash e carrego na tela.

Eu já testei criar o arquivo fisicamente depois de decodificado de Base64 para binário e este está funcionando, oq não funciona é carregar este conteúdo na tela… já tentei utilizar o OutputStream, DataOutputStream, BufferedOutputStream e o FileOutputStream (como teste), porém nenhum deles funcionou, não sei se eu estou fazendo alguma besteira…

ficou da seguinte forma… corrigindo o código anteriormente postado:

public void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
		
		
 	arquivo = (String) request.getAttribute("fileCode");

        //Conteúdo em Base64 adquirido através de uma dll
    	content = new MySharedLibrary().carregaArquivo3(arquivo);
    	
    	content = content.replaceAll("@", "\n").trim();

    	try
        {
               //Decodificação de Base64 para Binário
        	bytes = base.decode(content);
        	
            if(bytes != null)
            {
            	response.setContentType("application/x-shockwave-flash");            	
            	OutputStream fos = response.getOutputStream();
            	fos.write(bytes);
            	fos.flush();
            	fos.close();

            }
	    }
        catch(Exception ex)
        {
            ex.printStackTrace();
	    log(ex.getMessage());
        }
    }

Alguém tem alguma sugestão? Preciso entregar isso hj no trabalho e nenhuma das alternativas não deu certo…

Agradeço desde já…

Bom, consegui resolver meu problema, devido a correria só pude vir postar a resposta agora, quem sabe pode ajudar alguém…

segue modificação do código da linha 19 à 23:

[code]
ServletOutputStream out = response.getOutputStream();
BufferedOutputStream buffOut = new BufferedOutputStream(out);

			buffOut.write(bytes);
			buffOut.flush();
			buffOut.close();[/code]