作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想上传文件并将它们保存到特定目录中。我是文件概念的新手。当我从我的页面上传文件时,它们保存在另一个目录中(C:\Users\ROOTCP~1\AppData\Local\Temp\multipartBody989135345617811478asTemporaryFile) 并且不在指定的目录中。我无法设置它。请帮助我找到解决方案。对于所有帮助,提前致谢。
public static Result uploadHoFormsByHeadOffice() throws Exception {
Logger.info("@C HoForms -->> uploadHoFormsByHeadOffice() -->> ");
final String basePath = System.getenv("INVOICE_HOME");
play.mvc.Http.MultipartFormData body = request().body()
.asMultipartFormData(); // get Form Body
StringBuffer fileNameString = new StringBuffer(); // to save file path
// in DB
String formType = body.asFormUrlEncoded().get("formType")[0];// get formType from select Box
FilePart upFile = body.getFile("hoFiles");//get the file details
String fileName = upFile.getFilename();//get the file name
String contentType = upFile.getContentType();
File file = upFile.getFile();
//fileName = StringUtils.substringAfterLast(fileName, ".");
// path to Upload Files
File ftemp= new File(basePath +"HeadOfficeForms\\"+formType+"");
//File ftemp = new File(basePath + "//HeadOfficeForms//" + formType);
File f1 = new File(ftemp.getAbsolutePath());// play
ftemp.mkdirs();
file.setWritable(true);
file.setReadable(true);
f1.setWritable(true);
f1.setReadable(true);
//HoForm.create(fileName, new Date(), formType);
Logger.info("@C HoForms -->> uploadHoFormsByHeadOffice() <<-- Redirecting to Upload Page for Head Office");
return redirect(routes.HoForms.showHoFormUploadPage());
}
}
我很疑惑为什么上传的文件保存在这个(C:\Users\ROOTCP~1\AppData\Local\Temp\multipartBody989135345617811478asTemporaryFile)路径下。
最佳答案
你快到了。
File file = upFile.getFile();
是您通过表单输入获取的临时文件。您所要做的就是通过执行以下操作将此文件移动到您想要的位置:file.renameTo(ftemp)
。
你的代码中的问题是你在内存 ftemp
和 f1
中创建了一堆文件,但你从来没有对它们做任何事情(比如将它们写入磁盘)。
此外,我建议您清理代码。很多它什么都不做(前面提到的 f1
,也是您正在执行 setWritable
的 block )。这将使调试变得容易得多。
关于java - 无法将上传的文件保存到特定目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832635/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!