0

我已经在 jelastic 上上传了我的 maven/spring 项目,并使用以下方法保存图像:

   ServletContext servletContext = request.getSession().getServletContext();
   String absoluteFilesystemPath = servletContext.getRealPath("/");
   byte[] fileData = file.getBytes();
   String name=Trader.getImage();
   if (fileData.length != 0) {
       String fileName =login.getUserName()+".jpeg";
       File f = new File(absoluteFilesystemPath+"\\img\\"+fileName);
       FileOutputStream fileOutputStream = new FileOutputStream(fileName);
       fileOutputStream.write(fileData);
       fileOutputStream.close();
  }

它在本地主机上工作,图像保存在 img 文件夹中,而在服务器上,它保存在绝对路径上,名称为“img/xyz.jpeg”

我想保存它

myproject/img/

它正在节省

myproject
4

1 回答 1

0

你的 \ 不是错误的方式吗?我猜你的本地主机是Windows?

Jelastic 基于 Linux,因此文件系统路径/不包含\. 也许试试

File(absoluteFilesystemPath+"/img/"+fileName);

编辑:根据路径中的File.separator vs Slash,您可能希望使用它File.separator来代替适当的平台独立性。

于 2014-03-15T10:00:05.987 回答