Galera estou com o seguinte codigo para o filuupload para renomear, pegar a extensao e mandar um arquivo…
mais se eu tiver varios campos de formulario de arquivo, para mandar tipo 5 arquivos de uma vez??
Segue o codigo para um:
[color=“red”]<%@ page import=“java.io." %>
<%@ page import="java.util.” %>
<%@ page import=“org.apache.commons.fileupload.*” %>
<%
String novonome = “”;
try {
DiskFileUpload fu = new DiskFileUpload();
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
FileItem fi = (FileItem)i.next();
InputStream in = fi.getInputStream();
// configura o tipo do arquivo para gerar um nome unico…
int tamanho = fi.getName().length();
// configura pra pegar o nome do arquivo
int de = tamanho -4;
//pega o tipo do arquivo
String tipo_arquivo = fi.getName().substring(de,tamanho);
//gera o novo nome como uid
//gerar codigo de controle - inicio
int x = (int)(Math.random()*70000);
String codigo="";
for (int j=0;j<9;j++){
while (x<4096 || x>65535)
{
x = (int)(Math.random()*70000);
}
codigo = codigo + Integer.toString(x,16) +"-";
x = (int)(Math.random()*70000);
}
codigo = codigo.substring(0,19).toUpperCase();
// configura o novo nome
novonome = codigo+tipo_arquivo;
// se o tipo do arquivo for pdf,zip ou jpg salva
if(tipo_arquivo.equals(".pdf")||tipo_arquivo.equals(".zip")||tipo_arquivo.equals(".jpg")){
File file = new File(“C:\arq\”+novonome+"");
FileOutputStream fos = new FileOutputStream(file);
int c;
while((c = in.read()) != -1)
fos.write©;
fos.close();
out.println(novonome);
}
}
catch(Exception e) {
out.println(e.toString());
}
%>[/color]