Bom pessoal, estou com uma duvida, fiz uma classe q pega um arquivo no BD em .mp3 e ofereçe pra download! essa era a idéia, porém, qd eu abro no Explorer ele não baixa , ele executa e no Firefox ele abre pra download e baixa! Por favor se alguém souber me sanar essa duvida!
Eis ai a classe:
/*
- BaixarMp3.java
- Created on 19 de Setembro de 2007, 11:12
*/
package pctel;
import <a href="http://java.io">java.io</a>.<em>;
import <a href="http://java.net">java.net</a>.</em>;
import java.util.Properties;
import javax.servlet.<em>;
import javax.servlet.http.</em>;
import javax.sound.sampled.AudioFormat;
/**
*
-
author ADRIANO
-
19 de Setembro de 2007 - 11:13
*/
public class BaixarMp3 extends HttpServlet
{/** Processes requests for both HTTP
GETandPOSTmethods.-
@param request servlet request
-
@param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“audio/mpeg”);
HttpSession session =
request.getSession();
Object done =session.getAttribute(“logon.isDone”);if(done==null){ response.sendRedirect(“login.jsp”); return; } Object uservr = session.getAttribute(“uservr”); if(done.equals(“admin”)){ uservr = “true”; } if(uservr.equals(“false”)){ response.sendRedirect(“index.jsp”); return; } AudioFormat sound1 = null; String dir = null; StringBuffer url = null; String novaurl = “”; String pasta = “”; String ouvida = request.getParameter(“ouvida”); char s; int cont = 0; int id; try { id = Integer.parseInt(request.getParameter(“id”)); } catch (NumberFormatException e) { id = 0; } if(ouvida==null){ ouvida = “false”; } PesquisaDAO dao = new PesquisaDAO(); PesquisaVO resultadoid = dao.pesquisarid(id);
if (resultadoid != null) { if(ouvida.equals(“false”)){ dao.ouvida(id); } response.setContentType(“audio/mpeg”); PrintWriter out = response.getWriter(); dir = resultadoid.getArquivo(); dir = dir.replace(’\’,’/’);
url = request.getRequestURL(); for (int i = 0; i < url.length(); i++) { s = url.charAt(i); if(s == '/'){ cont++; } if(cont < 3){ novaurl += String.valueOf(url.charAt(i)); } } File file = new File(getServletContext().getRealPath("properties\\conf.properties")); Properties props = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(file); //lê os dados que estão no arquivo props.load(fis); fis.close(); } catch (IOException ex) { System.out.println(ex.getMessage()); ex.printStackTrace(); } pasta = props.getProperty("pasta"); novaurl = novaurl+"/"+ pasta +"/"+dir; response.sendRedirect(novaurl);
}else { response.setContentType(“audio/mpeg”); PrintWriter out = response.getWriter(); out.println(""); out.println(“Pesquisa”); out.println("<body bgcolor="#ffffff">"); out.println(“
Erro " + id + “
”);
out.println(”");
out.println("");
out.close();}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
this.processRequest (request,response);
}
/** Handles the HTTPPOSTmethod.- @param request servlet request
-
@param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
processRequest(request, response);
}
/** Returns a short description of the servlet. */ public String getServletInfo() { return “Envia uma MP3 para o navegador.”; } }
-
Desde já agradeço