2016-05-04 12 views
0
public String addFile(UploadFileBean uploadFileBean) throws Exception { 
SessionFactory sessionFactory = HibernateUtility.createSessionFactory(); 
    Session session = null; 
    session = sessionFactory.openSession(); 
    session.beginTransaction(); 
    UploadFileEntity uploadFileEntity = new UploadFileEntity(); 

    InputStream input = uploadFileBean.getFileData().getInputStream(); 
    ByteArrayOutputStream output = new ByteArrayOutputStream(); 
    byte[] buffer = new byte[10240]; 
    for (int length = 0; (length = input.read(buffer)) > 0;) 
     output.write(buffer, 0, length); 

    uploadFileEntity.setUploaderId(uploadFileBean.getUploaderId()); 
    uploadFileEntity.setReviewerId(uploadFileBean.getReviewerId()); 
    uploadFileEntity.setFileData(output.toByteArray()); 
    uploadFileEntity.setFileName(uploadFileBean.getFileName()); 
    uploadFileEntity.setFileStatus("Pending"); 

    session.persist(uploadFileEntity); 
    session.getTransaction().commit(); 
    session.close(); 

    return null; 
} 

これは、パートファイルをバイトに変換し、BLOB形式でデータベースに保存するために使用しているコードです。しかし、コードが完全に実行されると、何もデータベースに保存されず、nullが表示されます。誰かが可能性のある欠陥である可能性があることをお勧めしますか?パートファイルがデータベースに保存されません

Image of the output

答えて

2

あなたの出力は、データがフラッシュ必要がキャッシュに残っていたclosed.Theではありません。

+0

どうすればよいですか? BTW残りのデータは、ファイル –

+0

を除いてデータベースに保存されています。 'uploadFileEntity.setFileStatus(" Pending ");の後に' output.close(); 'を追加するだけです。 –

+0

アップロード後にデータベースに 'Null' –

関連する問題