Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
    Bookmark Topic Watch Topic
  • New Topic

file download  RSS feed

biswajit goswami
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
  • Report post to moderator
functionality retrieves file from dbase using hibernate and dialog box appears promting user to open save or the problem:
save it in the system and open the file .....its fine,all the contents of the file are displayed
BUT open the file straight from the dialog box then the appropriate application is triggered but the file is if its a txt file then notepad opens it but there is nothing displayed.Here's the code in the action class:
public ActionForward downloadById(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
String fileId=request.getParameter(FILE_ID);
ServiceFactory factory=ServiceFactory.getServiceFactory();
FileBusinessService fileService=(FileBusinessService)factory.getService(FileBusinessService.class);
File file=fileService.retrieveFile(fileId);
String fileName=file.getName();
byte[] fileArray=file.getContent();
String fileType = fileName.substring(fileName.indexOf(".")+1,fileName.length());
setContentTypeHelper(response,fileType,fileName);//see down

ServletOutputStream outStream = response.getOutputStream();

return mapping.findForward("find");


private void setContentTypeHelper(HttpServletResponse response,String fileType,String fileName){
if (fileType.trim().equalsIgnoreCase("txt")){
response.setContentType( "text/plain" );
}else if (fileType.trim().equalsIgnoreCase("doc")){
response.setContentType( "application/msword" );
}else if (fileType.trim().equalsIgnoreCase("xls")){
response.setContentType( "application/" );
}else if (fileType.trim().equalsIgnoreCase("pdf")){
response.setContentType( "application/pdf" );
}else if (fileType.trim().equalsIgnoreCase("ppt")){
response.setContentType( "application/ppt" );
response.setContentType( "application/octet-stream" );
response.setHeader("Content-Disposition","attachment; filename=\""+fileName+"\"");
response.setHeader("cache-control", "no-cache");

Ben Souther
Posts: 13411
Firefox Browser Redhat VI Editor
  • Mark post as helpful
  • send pies
  • Report post to moderator
You've already posted this question in this and another forum.
Please use this one to continue the conversation and stop posting the same question multiple times:

A lot of people will refuse to help someone who continues to do this.
Don't get me started about those stupid light bulbs.
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!