2017-10-25 80 views
3

私はSpringのコントローラで2つの異なるマルチパートファイルを処理しています。マルチパートファイルのヌルチェック

両方のファイルは、エンティティを設定するには、サービスへ送信されます。しかし、両方または1がnullの場合、NullPointerExceptionがスローされます。 2つのファイル(projectImg/chartImg)のいずれかがヌルであるかどうかを確認するにはどうすればよいですか?

はここで、これまでに私のコードです:

public void uploadImages(MultipartFile projectImg, MultipartFile chartImg, Long projectId) throws ValidationException, IOException { 
    Project project = projectRepository.findOne(projectId); 
    Project save = projectRepository.save(project); 

    int maximumSizeMB = 15000000; 

    if (!projectImg.isEmpty()) { 
     if (projectImg.getSize() > maximumSizeMB) { 
      throw new ValidationException("Image size is too big. Maximum size is 15 MB"); 
     } 

     byte[] projectFile = ImageCompression.compressImage(projectImg); 
     project.setProjectImg(projectFile); 
     save.getProjectImg(); 
    } 
    if (!chartImg.isEmpty()) { 
     if (chartImg.getSize() > maximumSizeMB) { 
      throw new ValidationException("Image size is too big. Maximum size is 15 MB"); 
     } 

     byte[] chartFile = ImageCompression.compressImage(chartImg); 
     project.setChartImg(chartFile); 
     save.getChartImg(); 
    } 
    projectRepository.save(project); 
} 

ありがとう!ちょうどあなたのための答えを受け入れるようにして、この質問は、「未回答」として滞在していませんが、私は答えとして私のコメントを投稿しますため

+4

'.isEmpty()'の代わりに 'if(projectImg!= null)'またはそれ以前に? – Frakcool

+1

btw。 'maximumSizeMB'はその単位がメガバイトのように聞こえます。しかし、その場合、最大サイズは15 TBになりますが、これはかなり大変です。 – Vlasec

+1

'if(null!= projectImg)'は 'NullPointerException'を投げずにヌルチェックを行うべきです –

答えて

2

あなたは

if (projectImg != null) { ... } 

を呼び出すことができます前または代わりに

if (projectImg.isEmpty()) { ... } 
関連する問題