0

maven/spring プロジェクトを jelastic にアップロードし、以下を使用して画像を保存しました。

   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/xyz.jpeg」という名前で絶対パスに保存されますが、画像はimgフォルダーに保存されます。

に保存したい

myproject/img/

節約中です

myproject
4

1 に答える 1

0

あなたの \ 道は間違っていませんか? あなたのローカルホストはWindowsだと思いますか?

Jelastic は Linux ベースであるため、ファイルシステム パスには/notが含まれます\。たぶん試してみてください

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

編集: File.separator vs Slash in PathsFile.separatorによると、適切なプラットフォームの独立性のために代わりに使用することができます。

于 2014-03-15T10:00:05.987 に答える