terça-feira, 24 de agosto de 2010

Re: [java-br] Upload

·

Olá Pessoal bom dia!

Segue abaixo o servlet que estou utilizando para efetuar o upload dos
arquivos,
se eu "Upar" um arquivo mais que 10mb a classe não funciona mais.
alguem tem alguma ideia de como eu posso resolver esse problema ?


package br.com.wcorrea.servlet;

import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Upload extends HttpServlet {
private static final long serialVersionUID = 1L;

public Upload() {
super();
}

@SuppressWarnings("static-access")
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
//super.doPost(request, response);

//System.out.println("Entrou no doPost");

String contentType = request.getContentType();
String diretorio = new String("C:\\upload\\");

//Verifica se o diretorio principal dos upload existe
if (new Fisico()._verifica_diretorio(diretorio) == false){
new Fisico()._criar_diretorio(diretorio);
}


String nomeImagem = request.getParameter("nomeImagem");
String nomePasta = request.getParameter("nomeDiretorio");

//Verifica diretorio em expecifico
diretorio = diretorio+nomePasta+"\\";
if (new Fisico()._verifica_diretorio(diretorio) == false){
new Fisico()._criar_diretorio(diretorio);
}

try {
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);

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;

// Salva no diretorio especificado
FileOutputStream fileOut = new FileOutputStream(diretorio +
nomeImagem);

fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();

//Gera os Thumbnail da imagens
//Verifica se o diretorio existe
if (new Fisico()._verifica_diretorio(diretorio+"thumbnail")
== false){
new Fisico()._criar_diretorio(diretorio+"thumbnail");
}

new Gerar_Thumbnail().createThumbnail(diretorio+nomeImagem,
diretorio+"thumbnail\\"+nomeImagem, 100);

}
} catch (Exception e) {
e.printStackTrace();
}
}

}

Em 24 de agosto de 2010 08:48, RONDINELLY MOUTINHO RAMOS <
rondinelly@csn.com.br> escreveu:

>
>
> Ola
>
> Puxa nossa lista esta ficando creditada, agora temos um membro legítimo da
> Caelum ?
>
> Que legal seja bem vindo Paulo
>
> Seguinte alguem conhece uma lista de qualidade = essa , mas de . NET e
> poderia me informar
>
> -----Mensagem original-----
> De: java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br> [mailto:
> java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br>] Em nome de
> Paulo Silveira - Caelum
> Enviada em: terça-feira, 24 de agosto de 2010 01:30
> Para: java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br>
> Assunto: Re: [java-br] Upload
>
>
> Oi Willian
>
> Se voce fez na mao, cuidado para nao guardar um byte[] na memoria. Pois ai
> voce so vai aguentar o quanto de memoria estiver disponivel.
>
> As bibliotecas existentes, como o file upload da apache, ja permitem que
> voce escolha o tamanho do buffer, entao de tantos em tantos kbytes ele vai
> guardando no HD ou em algum outro Stream que voce escolher:
> http://commons.apache.org/fileupload/
>
> abracos
>
> --
> Paulo Silveira
> Caelum | Ensino e Inovação
> www.caelum.com.br
> www.arquiteturajava.com.br
>
> 2010/8/23 Oscar Costa <oscar_al_costa@yahoo.com.br<oscar_al_costa%40yahoo.com.br>
> >
>
> >
> >
> > Opa! :D
> >
> > Limite do java? Ummmm.... acho que o tamanho do HD ou do espaço
> > disponível no Banco... rsrsr :P
> >
> > Mas, como você está "subindo" o arquivo? Via GET, POST, PUT...
> >
> > []s,
> >
> > Oscar Aleixo
> > http://blog.openarch.com.br
> >
> > ________________________________
> > De: Willian Vag <willian.vag@gmail.com <willian.vag%40gmail.com><willian.vag%
> 40gmail.com>>
> > Para: java-br <java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br>
> > <java-br%40yahoogrupos.com.br>>
> > Enviadas: Segunda-feira, 23 de Agosto de 2010 17:52:53
> > Assunto: [java-br] Upload
> >
> >
> > Olá Pessoal, Boa Tarde!
> >
> > Tenho uma duvida,
> > tenho servlet para fazer upload funcionando certinho,
> >
> > Quantos megas o java consegue "upar" pq dependendo do tamanho do
> > arquivo num vai.
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com<java-br-unsubscribe%40yahoogroups.com>
> Para upload/download de arquivos:
> http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
>
> ----------
> Esta mensagem pode conter informacoes confidenciais e/ou privilegiadas.
> Se voce nao for o seu destinatario, favor comunicar imediatamente ao
> remetente e destruir todas as informacoes e suas copias.
>
> This message may contain information which is confidential and/or
> privileged.
> If you are not the intended recipient, please advise the sender immediately
> and destroy it and all copies.
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/

<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog