0

サーバーにファイルがあります。A.xls。クライアントはそれを暗号化することを望んでいます。だから私はしました。新しいファイル名は B.xls です。HttpServletResponse ストリームを使用して B.xls をダウンロードすると、結果が混乱しました。ダウンロードしたファイルのサイズが B.xls と異なっていたためです。

A.xls サイズは 3kb です。B.xls サイズは 6kb です。ただし、ダウンロードされるファイルのサイズは 5kb です。

これを解決するヒントを教えてください。前もって感謝します。

///////////////////////////////////////////
///// this is my code. ////////////////////

File file = new File(tempDir+filename);
FileOutputStream fos = new FileOutputStream( file );  
byte[] readBuff = new byte[4096];
int readLen = -1;           
try {  
    while( ( readLen = is.read( readBuff ) ) != -1 ) {
      fos.write( readBuff, 0, readLen );
    }
    fos.flush();
} finally {
    if( fos != null ) {
        try {fos.close();} catch( IOException e ) { e.printStackTrace(); }
    }                       
}

//## Encrypt the target File ##
// Do - Something
// the new file name is enc_filename

outputStream = response.getOutputStream();
File encFile = new File(tempDir+enc_filename);
System.out.println("enc file size :" + encFile.length());
outputStream = response.getOutputStream();
inputStream = new FileInputStream( encFile );
readLen = -1;
while( ( readLen = inputStream.read() ) != -1 ) {
    outputStream.write(readLen);
}
outputStream.flush();
......
close stream code....
......
4

0 に答える 0