Pergunta sobre Apache FileUpload

3 respostas
felipe_gdr

Ola, estou usando a biblioteca FileUpload da Apache para fazer upload de arquivos para a minha aplicacao.

Minha duvida eh a seguinte:

segundo esse link using fileupload existem 2 maneiras de mandar o arquivo para o servidor:

// Process a file upload
if (writeToFile) {
    File uploadedFile = new File(...);
    item.write(uploadedFile);
} else {
    InputStream uploadedStream = item.getInputStream();
    ...
    uploadedStream.close();
}

a dentro do if eh para arquivos pequenos, e a dentro do else para arquivos maiores.

Como os arquivos a serem enviados para o meu servidor serao grandes, queria implementar a segunda alternativa. Pergunto: como uso o InputStream para escrever o arquivo no servidor? Isso eh IO basico, ou tenho que usar algo mais na biblioteca FileUpload?

Valeu :slight_smile:

3 Respostas

Giulliano

eu costumo usar assim:

//VERIFICA SE É ARQUIVO OU UM INPUT HTML
if (fileitem.isFormField()) {
// OS CAMPOS INPUTS SÃO PREENCHIDOS NA ORDEM EM QUE O JSP MANDA
//TO DO
	else{
                    fileName = fileitem.getName();
	    fileName = fileName.substring(fileName.lastIndexOf("\\") + 1);
                }

No caso quando vem inputs não faço nada, apenas o arquivo me interessa…

bebad

hmmm eu curto usar a api do vRaptor pra fzer uploads é bem massa.

felipe_gdr

Sim, eu tambem soh estou interessado no arquivo. InputStream nao sao os campos de texto do formulario, eh um objeto que representa os bytes do arquivo ( eu acho :roll: ), e para fazer upload de arquivos grandes eh melhor usar esse objeto do que simplesmente chamar item.write(uploadedFile);

Criado 29 de outubro de 2007
Ultima resposta 29 de out. de 2007
Respostas 3
Participantes 3