如何直接从服务器下载文件,而不将其保存在任何文件夹中?

时间:2014-11-11 09:07:57

标签: java download client-server fileoutputstream

if(!ErmUtil.isNull(listOfActualFilePaths) && listOfActualFilePaths.size()>0){
    FileOutputStream fos = new FileOutputStream("/smiles/wrk/attachments/ermWeb/taxation/testing.zip");
    ZipOutputStream zos = new ZipOutputStream(fos);

    Iterator itrOnFNames = listOfActualFilePaths.iterator();
    while (itrOnFNames.hasNext()) {
        StringBuffer ActualPath = (StringBuffer) itrOnFNames.next();
        addToZipFile(ActualPath.toString(), zos);
    }
    zos.close();//Closing Both Streams
    fos.close();
}

public  void addToZipFile(String fileName, ZipOutputStream zos) throws FileNotFoundException, IOException {
    System.out.println("Writing '" + fileName + "' to zip file");
    File file = new File(fileName);
    int index = fileName.lastIndexOf("/");
    String fileNameForZip =  fileName.substring(index+1);
    FileInputStream fis = new FileInputStream(file);
    ZipEntry zipEntry = new ZipEntry(fileNameForZip);
    zos.putNextEntry(zipEntry);

    byte[] bytes = new byte[1024];
    int length;
    while ((length = fis.read(bytes)) >= 0) {
        zos.write(bytes, 0, length);
    }
    zos.closeEntry();
    fis.close();
}

我使用上面的代码,将zip文件保存在特定位置。但我想要做的是,不是保存该文件,而是直接下载。

修改1 请参阅如果我要下载一个zip文件,那么根据上面的代码,在路径/smiles/wrk/attachments/ermWeb/taxation/testing.zip上它将首先保存,然后从该文件夹,我(服务器)可以发送它客户(计算机)。

但我不想将其保存在指定的路径上,而不是“首先保存到文件夹然后发送到客户端”,而是直接将其发送给客户端。

0 个答案:

没有答案