java - 多部分文件的空检查

标签 java

我正在我的 Spring Controller 中处理两个不同的多部分文件。

然后将这两个文件发送到服务以设置实体。但是,如果两者或其中之一为空,则会抛出 NullPointerException。如何检查两个文件 (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);
}

谢谢!

最佳答案

只是为了让您接受答案并且这个问题不会保持“未回答”状态,我将发表我的评论作为答案:

你可以调用

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

之前或代替

if (projectImg.isEmpty()) { ... }

关于java - 多部分文件的空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46934460/

相关文章:

java - 了解总系列以创建 JFreeChart 的定制器类

java - 使用 Spring Boot 启动 JavaFX 2

java - 在自定义 jtable 中显示结果集

java - 从另一个 Play 框架 (1.2.x) 调用一个 URL

java - Java中最小化绝对函数

java - 如何在@Table注释中动态设置模式名称

java - 验证时,我需要 "exception"中的元素名称

java - android中的改造-使用对象而不是json中的数组

java - [Ljava.lang.Object;无法转换为project.model.Role

java - 使用 iText 将图像添加到 PDF