这是一个非常基本的,但它让我挠了 4 个小时,现在我要放弃了。为了提供尽可能多的信息,我可以说这是一个 java webapp 项目,在 ubuntu 11.04 下使用 zk 5.0.8 作为前端+spring+hibernate+maven,并允许 basedir 设置为 777。
尝试了文件上传一切似乎都很好,而且我有信心我的代码是正确的,但它只是不工作。
这是代码
private boolean saveUploadledFile(Media uploadedMedia, String basedir) {
String code = codeGenerator.generateContentCode(15);
String FINAL_DIR_PATH = basedir + "/"+"Racing" + "/" + code;
String FINAL_FILE_PATH = FINAL_DIR_PATH + "/" + uploadedMedia.getName();
alert(FINAL_DIR_PATH);
try {
File finaldir = new File(FINAL_DIR_PATH);
//apache commons
FileUtils.forceMkdir(finaldir);
alert("Size equals" + uploadedMedia.getByteData().length);
fout = new FileOutputStream(new File(FINAL_DIR_PATH+"/"+addContentWindow1$txtName.getText()+".jar"));
//apache commons
IOUtils.copy(uploadedMedia.getStreamData(), fout);
} catch (IOException e) {
throw new RuntimeException(e);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(fout);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return false;
}
new FileOutputStream 总是抛出异常。所以如果我无法指定我想保存的位置如何保存文件。有任何想法吗?我故意输出文件的大小以确保有文件。任何人都可以解释一下吗?感谢您阅读本文
实际的例外是
引起:java.io.FileNotFoundException:/joseph/mbcs/Games/Racing/20314/somthing.jar(是一个目录)