您好我正在尝试使用弹簧数据上传文件。当我尝试上传文件时,我得到一个例外。
我的文件上传代码是
try {
File file = new File(this.TEMPORARY_FILES_DIRECTORY, Calendar.getInstance().getTimeInMillis() + "_" + fileNameUnderscored);
writeByteArrayToFile(file, form.getFile().getBytes());
FileInputStream inputStream = new FileInputStream(file);
GridFSFile gridFSFile = gridFsTemplate.store(inputStream, "test.png");
PropertyImage img = new PropertyImage();
img.setPropertyUid(gridFSFile.getFilename());
imagesRepository.save(img);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
其中TEMPORARY_FILES_DIRECTORY = new File("/home/temp/");
我得到的例外是
java.io.IOException: File '/home/temp/1392807425028_file' could not be created
关于调试FileUtils
类
if (parent.mkdirs() == false) {
throw new IOException("File '" + file + "' could not be created");
}
parent.mkdirs() is false.
有人可以告诉我这段代码有什么问题。
答案 0 :(得分:2)
你确定它是/home/temp
而不是/home/username/temp
吗?您无法在主目录之外创建目录。如果您想将文件存储在主目录中,请尝试使用Systen.getProperty("user.home") + "/temp"
之类的内容。无论如何,为什么不选择/tmp
作为临时目录?