Upload con struts-upload.war de Struts1.1
Para hacer un upload con struts simplemente el archivo Upload.java tendria que modificarse como lo siguiente:
//File directorio=new File("c:\\archivosPDFsubidos");
//directorio.mkdir();
//String path=directorio+fileName+theForm.getTheText();
String path="c:\\"+fileName+theForm.getTheText();
try {
//retrieve the file data
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream stream = file.getInputStream();
if (!writeFile) {
//only write files out that are less than 1MB
if (file.getFileSize() < (4*1024000)) {
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
baos.write(buffer, 0, bytesRead);
}
data = new String(baos.toByteArray());
}
else {
data = new String("The file is greater than 4MB, " +
" and has not been written to stream." +
" File Size: " + file.getFileSize() + " bytes. This is a" +
" limitation of this particular web application, hard-coded" +
" in org.apache.struts.webapp.upload.UploadAction");
}
}
else {
// Aquí está mi aporte
File f = new File(path);
FileOutputStream out = new FileOutputStream(f);
out.write(file.getFileData());
out.flush();
out.close();
//write the file to the file specified
OutputStream bos = new FileOutputStream(theForm.getFilePath());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
data = "The file has been written to \"" + theForm.getFilePath() + "\"";
}
//close the stream
stream.close();
}
catch (FileNotFoundException fnfe) {
return null;
}
catch (IOException ioe) {
return null;
}
...probad el código y vereis que hace una carga en la unidad C: (bueno, he sido educado en idioma español)
de nada, a mi tampoco me salía, simplemente dije: si me sale lo coloco en mi blog.
Puedes mejorar reeemplzando los tag html de struts con simple HTML

<%@ page import="org.apache.struts.action.*,
java.util.Iterator,
org.apache.struts.webapp.upload.UploadForm"%>
<%@ page language="java" %>
Pronto estaré con mayores novedades y aportaciones, por ejemplo hacer todo esto con Struts2 y con ADFBC.

Meneame
del.icio.us