Solved

Create new FormFile from another Struts

Posted on 2006-10-27
10
2,042 Views
Last Modified: 2012-08-13
Hi!
I have a webpage in jsp that select a file from my computer and then save this to the database.
In the same location from the file I have the same name file but diferent extension (file.gif, file.jpg), i want save also the file with the diferent extension without have to select from the page.
It is posible.

My code in the action is

TableroForm fform = (TableroForm) form;
FotoVO fotoVO = new FotoVO();

String nombre = fform.getFoto().getFileName();
fotoVO.setNombre(nombre);
fotoVO.setTipo(fform.getTipoF());
               
String sub = nombre.substring(nombre.lastIndexOf("."), nombre.length());

  session = request.getSession();
  context = session.getServletContext();
  String path = context.getRealPath(request.getContextPath()) + session.getId();
  IOUtil.createDirs(path);
  path = path + "/" + nombre;

//This code to take the same file with another extension - but the filelength is 0 because the file is not found because is in another comuter....

   String archivoJPG = fform.getArchivoP().substring(0, (fform.getArchivoP().length() - 4)) + ".JPG";
   fotoVO.setZoom(archivoJPG);
   File file1 = new File(fotoVO.getZoom());
   int filelength1 = (int) file1.length();
               
   log.info("Guardando el archivo " + path);
   IOUtil.saveFile(path, fform.getFoto().getFileData());
   fotoVO.setPath(path);


I think that I can create a new FormFile from the original or something like that but i dont know how

Can somebody help me?, its very urgent
0
Comment
Question by:olgavillamizar
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
10 Comments
 
LVL 10

Expert Comment

by:jaggernat
ID: 17819594
>>>> diferent extension without have to select from the page.
It is posible.

I don’t think its possible.
With out selecting the file , how will you differentiate which file it is that you want to save in database?
However, How you can differentiate the names of the files is getting a substring of the file names after the “.”
so if file names are the same say for instance  file.jpg and file.gif , get the extenstions of the file names using

something like this

private String getFileName(String fileName) {
            String fileNameExtension = fileName.substring(fileName.indexOf("."),filename.length());
System.out.println(“File name extension is ” + fileNameExtension)
            return fileNameExtension;

}

so once you get the extension, you can decide which one you want to save in database
0
 
LVL 1

Author Comment

by:olgavillamizar
ID: 17819658
I want to save both in the database, but I want to have to select just one.

The problem is when I start to use my application from other computers. So the Jboss Server is on my computer. When I run my application using IE from another computer, it runs successfully. Everything correct except one thing. When I run try to upload a file, it cannot accept it and try to get the file from the server side, because the file is in the client side.
0
 
LVL 10

Expert Comment

by:jaggernat
ID: 17819952
>>>try to upload a file, it cannot accept it and try to get the file from the server side, because the file is in the client side

not really sure what you mean here. are you uploading the file from a directory  or somewhere else
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:olgavillamizar
ID: 17820067
im uploading the file from a directory
0
 
LVL 10

Expert Comment

by:jaggernat
ID: 17820175
so what you mean when you say
cannot get the file from server side ? and
file is in the client side
0
 
LVL 10

Expert Comment

by:jaggernat
ID: 17820197
why dont you upload the file in server side in that case ?
0
 
LVL 1

Author Comment

by:olgavillamizar
ID: 17821726
because the file is in the client side....the idea is upload to server side...

The file is in client side in c:/temp
and the app is looking in server side in c:/temp

0
 
LVL 10

Accepted Solution

by:
jaggernat earned 500 total points
ID: 17821883
copy the file from client side to server side using this  software plexus-utils-1.3.jar [1].  

put the above jar file in web-inf/lib directory


In your java class, import FileUtils:

import org.codehaus.plexus.util.FileUtils;

//copy file from client to server using this line

FileUtils.copyDirectory(new File("c:/client/temp"), new File(" c:/server/temp"));

//  c:/client/temp  is source directory (client)
//  c:/server/temp  is destination directory (server)


[1] http://repository.codehaus.org/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.jar
0

Featured Post

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to import Lotus Notes Contacts into Outlook 2016, 2013, 2010 and 2007 etc. with a few manual steps. You can easily export and migrate Lotus Notes contacts into Microsoft Outlook without having to use any third party tools.
The recent Petya-like ransomware attack served a big blow to hundreds of banks, corporations and government offices The Acronis blog takes a closer look at this damaging worm to see what’s behind it – and offers up tips on how you can safeguard your…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question