Java 上载的文件未保存到webcontent目录
我正在使用EclipseIDE开发应用程序。我的应用程序具有文件上载功能 我能够实现如何上传文件,也可以保存它。但问题是上传的文件没有存储到我的动态web项目目录中 该文件已将get store上载到我的服务器目录,其中Java 上载的文件未保存到webcontent目录,java,spring-mvc,file-upload,Java,Spring Mvc,File Upload,我正在使用EclipseIDE开发应用程序。我的应用程序具有文件上载功能 我能够实现如何上传文件,也可以保存它。但问题是上传的文件没有存储到我的动态web项目目录中 该文件已将get store上载到我的服务器目录,其中.metadata文件夹具有路径 file:///E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ 我想将我上传的文件夹存储到我的Webcontent文件夹,该文件夹包含上传文
.metadata
文件夹具有路径
file:///E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/
我想将我上传的文件夹存储到我的Webcontent文件夹,该文件夹包含上传文件夹和图像文件夹,如Webcontent/upload/images
毫无疑问,我能够查看图像文件,但是,我想要的路径与上面的一样。
下面是我用来存储上传文件的代码
@RequestMapping(value = "/company/UploadFile.action", method = RequestMethod.POST)
public @ResponseBody String uploadFile(FileUploadBean uploadItem, BindingResult result,HttpServletRequest request, HttpServletResponse response) {
System.out.println("FILE UPLOAD ITEM SI SSLSL ::"+uploadItem);
ExtJSFormResult extjsFormResult = new ExtJSFormResult();
if (result.hasErrors()){
for(ObjectError error : result.getAllErrors()){
System.err.println("Error: " + error.getCode() + " - " + error.getDefaultMessage());
}
//set extjs return - error
extjsFormResult.setSuccess(false);
return extjsFormResult.toString();
}
// Some type of file processing...
System.err.println("-------------------------------------------");
System.err.println("Test upload: " + uploadItem.getFile().getOriginalFilename());
System.err.println("-------------------------------------------");
try{
MultipartFile file = uploadItem.getFile();
String fileName = null;
InputStream inputStream = null;
OutputStream outputStream = null;
if (file.getSize() > 0) {
inputStream = file.getInputStream();
/*if (file.getSize() > 10000) {
System.out.println("File Size:::" + file.getSize());
extjsFormResult.setSuccess(false);
return extjsFormResult.toString();
}*/
System.out.println("also path ::"+request.getRealPath("") + "/upload/images/");
System.out.println("PATHI SIS SIS"+this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());
System.out.println("size::" + file.getSize());
InetAddress addr = InetAddress.getLocalHost();
byte[] ipAddr = addr.getAddress();
System.out.println("HOST NAME"+request.getRealPath("ResourceMgt"));
System.out.println("HOST ADDR"+addr.getHostAddress());
System.out.println("HOST "+request.getRequestURI());
System.out.println("HOST "+request.getRequestURL());
fileName = request.getRealPath("") + "/upload/images/"
+ file.getOriginalFilename();
outputStream = new FileOutputStream(fileName);
System.out.println("FILEN ANEM AND PATH IS ::"+fileName);
System.out.println("fileName:" + file.getOriginalFilename());
int readBytes = 0;
byte[] buffer = new byte[40000];
while ((readBytes = inputStream.read(buffer, 0, 40000)) != -1) {
outputStream.write(buffer, 0, readBytes);
}
companyservice.saveImages(file.getOriginalFilename(),fileName);
outputStream.close();
inputStream.close();
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
//set extjs return - sucsess
extjsFormResult.setSuccess(true);
return extjsFormResult.toString();
}
请建议我如何将上传到我的WebContent的文件存储在upload文件夹和images文件夹中。我上面的代码工作正常,只是在指定路径时出现了一些问题。您是否尝试更改outputStream的目标
fileName = request.getRealPath("") + "/upload/images/"
+ file.getOriginalFilename();
代替request.getRealPath(“”
放置一个绝对目的地或使用类路径。例如:
fileName = "/opt/tomcat/webapps/upload/images/"
+ file.getOriginalFilename();
论坛成员
现在我可以成功上传该文件,但该文件会存储到服务器上部署的目录中
一旦我删除该项目并将其重新部署到我的Tomcat服务器6.0,我上传的所有文件都会从中删除
我使用JAVA作为Tomcat server 6.0的服务器端技术。我能够成功上传文件,但文件会存储到服务器上部署的目录中 一旦我删除该项目并将其重新部署到我的Tomcat服务器7.0,我上传的所有文件都会从中删除
我使用JAVA和JSF作为我的服务器端技术,在Eclipse IDE中使用Tomcat server 7.0你能告诉我如何在我的JAVA类中获得WebContent路径吗。但是浏览本页: