文件流形式上载文件

文件流形式下载文件
转载来自
引用
http://jlins-you.iteye.com/blog/1553794

public String downLoadSongFile(HttpServletResponse response)  
{  
    InputStream fis = null;  
  
    try  
    {  
        String songName = "";  
        String filePath = "";  
        File file = new File(filePath + songName);  
        if (!file.exists())  
        {  
            return null;  
        }  
  
        // 以流的形式下载文件  
        fis = new BufferedInputStream(new FileInputStream(filePath));  
  
        doDownload(fis, response, songName);  
  
    }  
    catch (IOException e)  
    {  
        e.printStackTrace();  
    }  
    finally  
    {  
        if (null != fis)  
        {  
            try  
            {  
                fis.close();  
            }  
            catch (IOException e)  
            {  
                e.printStackTrace();  
            }  
        }  
    }  
  
    return null;  
}  
  
private void doDownload(InputStream inputStream, HttpServletResponse response, String songName) throws IOException  
{  
    response.setContentType("application/" + resolveContentType(songName));  
    response.setHeader("Content-Disposition", "attachment;" + "filename=" + songName);  
    FileCopyUtils.copy(inputStream, response.getOutputStream());  
}  
  
private String resolveContentType(String fileName)  
{  
    try  
    {  
        return fileName.substring(fileName.lastIndexOf(".") + 1);  
    }  
    catch (StringIndexOutOfBoundsException e)  
    {  
        return "";  
    }  
}