Bom dia Galera.
Estou prestes a tacar fogo aqui =/
To com um sistema simples de upload. Onde faço o seguinte recebo um codigo e o arquivo. ( gravo somente o nome do arquivo no banco. )
So que eu gostaria de trocar o nome “fisico desse arquivo”.
Digamos que o nome do arquivo seja imagem.jpg ( como faco para renomear esse arquivo? )
Preciso renomear o nome do arquivo pq se não toda vez que fizer o upload com o mesmo nome ele vai substituir a imagem.
segue o codigo:
[code]String codigo = request.getParameter(“codigo”);
String saveFile = “”;
String contentType = request.getContentType();
if ((contentType != null) && contentType.indexOf(“multipart/form-data”)>=0){
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[]= new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while ( totalBytesRead < formDataLength){
byteRead = in.read(dataBytes , totalBytesRead, formDataLength);
totalBytesRead += byteRead;
}
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf(“filename=”") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\") + 1,saveFile.indexOf(""") );
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1, contentType.length());
int pos;
pos = file.indexOf(“filename=”");
pos = file.indexOf("\n" , pos)+ 1;
pos = file.indexOf("\n" , pos)+ 1;
pos = file.indexOf("\n" , pos)+ 1;
int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0,pos)).getBytes()).length;
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;
String folder = “C:/sistema/web/loja/upload/”;
FileOutputStream fileOut = new FileOutputStream(folder + saveFile.replace(" “, “_”) );
fileOut.write(dataBytes, startPos , (endPos - startPos));
fileOut.flush();
fileOut.close();
saveFile = saveFile.replaceAll(” “,”");
[/code]
Sera que alguém consegue me da uma luz ?
[]s