Where to store uploaded images in Linux server using Spring MVC
up vote
0
down vote
favorite
I have written a code to upload the images(profile picture of an student) in the server running in linux environment.The code is shown below
@RequestMapping(value = "/updatePhoto",method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("id") String id,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
Model model) throws IOException
if(!file.isEmpty())
try
String relativePath="/resources";
String absolutePath=request.getServletContext().getRealPath(relativePath);
System.out.print(absolutePath);
byte bytes=file.getBytes();
File dir=new File(absolutePath);
if(!dir.exists())
dir.mkdir();
File uploadFile=new File(dir.getAbsolutePath()+File.separator+id+".jpg");
BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(uploadFile));
outputStream.write(bytes);
outputStream.close();
model.addAttribute("uploadMessage","image uploaded for id"+id);
catch (Exception e)
System.out.print(e);
return "successFileUpload";
i have stored in "/resources" folder.but the problem is, whenever i generate the war file of whole application and deploy in server, it flushes the "/resources" folder and deletes the old uploaded images.Is there any way or the path ,i could upload the images.
spring-mvc file-upload multifile-uploader
add a comment |
up vote
0
down vote
favorite
I have written a code to upload the images(profile picture of an student) in the server running in linux environment.The code is shown below
@RequestMapping(value = "/updatePhoto",method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("id") String id,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
Model model) throws IOException
if(!file.isEmpty())
try
String relativePath="/resources";
String absolutePath=request.getServletContext().getRealPath(relativePath);
System.out.print(absolutePath);
byte bytes=file.getBytes();
File dir=new File(absolutePath);
if(!dir.exists())
dir.mkdir();
File uploadFile=new File(dir.getAbsolutePath()+File.separator+id+".jpg");
BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(uploadFile));
outputStream.write(bytes);
outputStream.close();
model.addAttribute("uploadMessage","image uploaded for id"+id);
catch (Exception e)
System.out.print(e);
return "successFileUpload";
i have stored in "/resources" folder.but the problem is, whenever i generate the war file of whole application and deploy in server, it flushes the "/resources" folder and deletes the old uploaded images.Is there any way or the path ,i could upload the images.
spring-mvc file-upload multifile-uploader
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have written a code to upload the images(profile picture of an student) in the server running in linux environment.The code is shown below
@RequestMapping(value = "/updatePhoto",method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("id") String id,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
Model model) throws IOException
if(!file.isEmpty())
try
String relativePath="/resources";
String absolutePath=request.getServletContext().getRealPath(relativePath);
System.out.print(absolutePath);
byte bytes=file.getBytes();
File dir=new File(absolutePath);
if(!dir.exists())
dir.mkdir();
File uploadFile=new File(dir.getAbsolutePath()+File.separator+id+".jpg");
BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(uploadFile));
outputStream.write(bytes);
outputStream.close();
model.addAttribute("uploadMessage","image uploaded for id"+id);
catch (Exception e)
System.out.print(e);
return "successFileUpload";
i have stored in "/resources" folder.but the problem is, whenever i generate the war file of whole application and deploy in server, it flushes the "/resources" folder and deletes the old uploaded images.Is there any way or the path ,i could upload the images.
spring-mvc file-upload multifile-uploader
I have written a code to upload the images(profile picture of an student) in the server running in linux environment.The code is shown below
@RequestMapping(value = "/updatePhoto",method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("id") String id,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
Model model) throws IOException
if(!file.isEmpty())
try
String relativePath="/resources";
String absolutePath=request.getServletContext().getRealPath(relativePath);
System.out.print(absolutePath);
byte bytes=file.getBytes();
File dir=new File(absolutePath);
if(!dir.exists())
dir.mkdir();
File uploadFile=new File(dir.getAbsolutePath()+File.separator+id+".jpg");
BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(uploadFile));
outputStream.write(bytes);
outputStream.close();
model.addAttribute("uploadMessage","image uploaded for id"+id);
catch (Exception e)
System.out.print(e);
return "successFileUpload";
i have stored in "/resources" folder.but the problem is, whenever i generate the war file of whole application and deploy in server, it flushes the "/resources" folder and deletes the old uploaded images.Is there any way or the path ,i could upload the images.
spring-mvc file-upload multifile-uploader
spring-mvc file-upload multifile-uploader
asked Nov 11 at 20:21
Arul Suju
818
818
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28
add a comment |
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
The way I do is:
- Create a directory in the server. For example:
/myImages
- Then grant full permissions for tomcat user
You are good to go now. I have read somewhere that you shouldn't save your stuff on /resources
folder because it makes your app independent from container you are using: with tomcat you could use catalina.home
but what if you shift to another container
add a comment |
up vote
1
down vote
I store the images inside my Tomcat home location as it will be outside of my project folder(war) and inside the tomcat.
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "images");
The above lines of code will create a folder in tomcat base directory with name 'images'.
This is the one of the best ways to store images.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53252864%2fwhere-to-store-uploaded-images-in-linux-server-using-spring-mvc%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
The way I do is:
- Create a directory in the server. For example:
/myImages
- Then grant full permissions for tomcat user
You are good to go now. I have read somewhere that you shouldn't save your stuff on /resources
folder because it makes your app independent from container you are using: with tomcat you could use catalina.home
but what if you shift to another container
add a comment |
up vote
1
down vote
accepted
The way I do is:
- Create a directory in the server. For example:
/myImages
- Then grant full permissions for tomcat user
You are good to go now. I have read somewhere that you shouldn't save your stuff on /resources
folder because it makes your app independent from container you are using: with tomcat you could use catalina.home
but what if you shift to another container
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
The way I do is:
- Create a directory in the server. For example:
/myImages
- Then grant full permissions for tomcat user
You are good to go now. I have read somewhere that you shouldn't save your stuff on /resources
folder because it makes your app independent from container you are using: with tomcat you could use catalina.home
but what if you shift to another container
The way I do is:
- Create a directory in the server. For example:
/myImages
- Then grant full permissions for tomcat user
You are good to go now. I have read somewhere that you shouldn't save your stuff on /resources
folder because it makes your app independent from container you are using: with tomcat you could use catalina.home
but what if you shift to another container
edited Nov 12 at 7:10
answered Nov 12 at 7:03
nguyentaijs
908
908
add a comment |
add a comment |
up vote
1
down vote
I store the images inside my Tomcat home location as it will be outside of my project folder(war) and inside the tomcat.
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "images");
The above lines of code will create a folder in tomcat base directory with name 'images'.
This is the one of the best ways to store images.
add a comment |
up vote
1
down vote
I store the images inside my Tomcat home location as it will be outside of my project folder(war) and inside the tomcat.
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "images");
The above lines of code will create a folder in tomcat base directory with name 'images'.
This is the one of the best ways to store images.
add a comment |
up vote
1
down vote
up vote
1
down vote
I store the images inside my Tomcat home location as it will be outside of my project folder(war) and inside the tomcat.
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "images");
The above lines of code will create a folder in tomcat base directory with name 'images'.
This is the one of the best ways to store images.
I store the images inside my Tomcat home location as it will be outside of my project folder(war) and inside the tomcat.
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "images");
The above lines of code will create a folder in tomcat base directory with name 'images'.
This is the one of the best ways to store images.
answered Nov 12 at 5:09
Alien
4,48521024
4,48521024
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53252864%2fwhere-to-store-uploaded-images-in-linux-server-using-spring-mvc%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Store them anywhere you want except where you're currently storing them. I.e. choose a directory which is not deleted every time you deploy the app, and store them there.
– JB Nizet
Nov 11 at 20:28