gpt4 book ai didi

java - 在java应用程序中使用默认图像文件路径上传图像

转载 作者:行者123 更新时间:2023-11-30 07:26:30 25 4
gpt4 key购买 nike

因此,如果用户不选择任何图像,我需要清楚地了解在尝试设置默认图像文件路径时我所忽略的内容。我在浏览按钮中使用 JFileChooser 来获取图像路径(相对路径,而不是绝对路径),以便将图像路径存储在 MySQL 数据库上。

问题出在我的 imageFileUploader 类上。如果用户不想上传图像,我尝试将通用图像设置为默认图像。当我测试 imageFileUploader 类时,出现空指针异常。我基本上有一个文本框说“没有上传文件”,如果这是真的,那么它会上传默认图像。有人可以关注我的代码并为我忽略的任何内容提供一些要点吗?我将非常感激。

String imagePath = "";
byte[] rawBytes = null;
FileInputStream fileInputStream = null;

if(imagePath.equals("No File Uploaded")) {//null pointer exeception here!!
ClassLoader classLoader = this.getClass().getClassLoader();
URL resources = classLoader.getResource("/abaApplicationImages/blankProfile.jpg");
imagePath = resources.getFile();
}else{
//File fileObject = new File(imagePath);

File fileObject = new File(imagePath);

try {
fileInputStream = new FileInputStream(fileObject);
} catch (FileNotFoundException e) {

e.printStackTrace();
System.out.println("file not found");
}

int imageLength = Integer.parseInt(String.valueOf(fileObject.length()));
rawBytes = new byte[imageLength];
try {
fileInputStream.read(rawBytes, 0, imageLength);
} catch (IOException e) {

e.printStackTrace();
System.out.println("IO exception");

}


}
return imagePath;
}

错误消息:

java.io.FileNotFoundException: at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(Unknown Source) at abaApplication.ImageUploader.ImageUploader(ImageUploader.java:30) at abaApplication.ImageUploader.main(ImageUploader.java:59) file not found Exception in thread "main" java.lang.NullPointerException at abaApplication.ImageUploader.ImageUploader(ImageUploader.java:40) at abaApplication.ImageUploader.main(ImageUploader.java:59)

最佳答案

您没有验证URL 资源是否为空。这可能就是 NPE 的来源。

此外,ClassLoader.getResource()从类路径加载资源,如果文件位于图像文件不在类路径上,那么您可能应该直接使用FileInputStream

关于java - 在java应用程序中使用默认图像文件路径上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36757820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com