我正在建立一个网站来管理音乐,但我不知道如何从servlet下载mp3。
这是我的代码:
filename=new File(imagepath).getName(); FileOutputStream fil=new FileOutputStream(pathfolder+"/"+filename); URL url=new URL("http://192.168.1.4:8080/Demo/upload/"+filename); HttpURLConnection urlconnection=null; urlconnection=(HttpURLConnection)url.openConnection(); urlconnection.setRequestMethod("GET"); urlconnection.setDoOutput(true); urlconnection.connect(); int total_size=urlconnection.getContentLength(); Log.i("totall sizeeeeeee",""+total_size); InputStream inpstream = urlconnection.getInputStream(); byte[] buffer=new byte[total_size]; int buffleng=0,download_size=0; while((buffleng=inpstream.read(buffer))>0) { fil.write(buffer,0,buffleng); } } catch(Exception ex){ ex.printStackTrace(); }
ServletOutputStream stream = null; BufferedInputStream buf = null; try { stream = response.getOutputStream(); File mp3 = new File(“/myCollectionOfSongs” + “/” + fileName);
//set response headers response.setContentType("audio/mpeg"); response.addHeader("Content-Disposition", "attachment; filename=" + fileName); response.setContentLength((int) mp3.length()); FileInputStream input = new FileInputStream(mp3); buf = new BufferedInputStream(input); int readBytes = 0; //read from the file; write to the ServletOutputStream while ((readBytes = buf.read()) != -1) stream.write(readBytes); } catch (IOException ioe) { throw new ServletException(ioe.getMessage()); } finally { if (stream != null) stream.close(); if (buf != null) buf.close(); }