Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

weibson

[Resolvido]Upload de Imagem

Recommended Posts

Olá pessoal.

 

Eu tenho um grande problema.

Eu não consigo fazer upload de imagem para diretórios de meu sistema.

Estou programando em JSP com o NETBEANS 5.5 (tenho que usar esse por causa do servidor onde é hospedado o sistema)

 

É o seguinte, eu gostaria de fazer o upload de arquivos no formato de imagem para um diretório qualquer configurado por mim. Gostaria de exemplos para utilização em diretórios e não em banco de dados.

 

Obrigado desde já! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal.

 

Eu tenho um grande problema.

Eu não consigo fazer upload de imagem para diretórios de meu sistema.

Estou programando em JSP com o NETBEANS 5.5 (tenho que usar esse por causa do servidor onde é hospedado o sistema)

 

É o seguinte, eu gostaria de fazer o upload de arquivos no formato de imagem para um diretório qualquer configurado por mim. Gostaria de exemplos para utilização em diretórios e não em banco de dados.

 

Obrigado desde já! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

ola wibson

 

cara você terá q ler na api sobre FILEUPLOAD como usar beleza?

 

http://commons.apache.org/fileupload/apido...FileUpload.html

 

depois ve se isso te ajuda em alguma coisa, se ainda estiver dando errado, posta o codigo para agente dar uma olhada beleza?

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import br.gov.esporte.exception.NegocioException;
import br.gov.esporte.handlers.EnviaEmailComAnexoHandler;

public class MalaDiretaServlet extends javax.servlet.http.HttpServlet implements
javax.servlet.Servlet {
private static final long serialVersionUID = 1L;

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
File uploadFile = null;
DiskFileItemFactory factory;
String repositorio;
List fileItems;
ServletFileUpload upload;

PrintWriter out = response.getWriter();

response.setContentType("text/html");

try {

factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);
repositorio = getServletContext().getInitParameter("repositorio");
if (repositorio == null) {
throw new NegocioException(
"É preciso definir o parâmetro repositorio");
}
factory.setRepository(new File(repositorio));

upload = new ServletFileUpload(factory);
upload.setSizeMax(2560000l);

fileItems = upload.parseRequest(request);
}

falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

DiegoEsteves

 

Eu tentei utilizar o seu código mas não entendi muita coisa, eu não sei nada sobre upload então fiquei realmente perdido como fazer. Um amigo meu mandou-me o seguinte código.

 

upload.jsp

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TESTE ARQUIVOS</title>
</head>
<body>

<form action="UploadServlet" method="post" enctype="multipart/form-data" name="formulario" id="formulario">
<input type="file" name="arquivo">
<br>
<input type="submit" value="enviar">
</form>
</body>
</html>

 

Essa foi a página simplificada do upload.

 

Depois ele mandou eu criar um servlet com o seguinte código.

 

 

UploadServlet.java

 

import java.io.*;
import java.net.*;
import java.util.Iterator;
import java.util.List;

import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {

	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		
		try {					
			
			this.upload(request, response);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
		
	}
	
	
	private String upload(HttpServletRequest request, HttpServletResponse response) 
	throws Exception {
		DiskFileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		upload.setSizeMax(50 * 1024 * 1024);
		String nome = "";
		List items = upload.parseRequest(request); // request vem na controladora

		// Processa os itens do upload
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
			FileItem item = (FileItem) iter.next();
			if (item.getFieldName().equals("arquivo")) {
				nome = item.getName();
				StringBuffer bn = new StringBuffer();
				bn.append("D:/imagens/"); // caminho
				bn.append(nome);
				File uploadedFile = new File(bn.toString());
				item.write(uploadedFile);
			}
		}
		nome = "D:/imagens/" + nome;
		return nome;
	}

Com o o retorno do nome eu poderei colocar o caminho no banco de dados para eventuais consultas. Até ai tudo bem.

 

Sendo que quando eu executo o comando uma exception ocorre. Quando ele tenta passar o paramêtro para:

List items = upload.parseRequest(request);

 

Se alguém puder me ajudar....

Estou realmente precisando fazer o upload de arquivos em imagem.

 

 

Sim esse código que me mandaram ele utiliza para carregar arquivos .xml e .txt

Mas me disse que poderia funcionar para imagens. E ele utiliza certamente diretórios e caminho para imagens.

 

 

Desde já agradeço a todos! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem pessoal.

Eu conseguir resolver o problema depois de muito bater a cabeça contra a parede.

 

Eu estava usando apenas 3 JARs

commons-fileupload-1.2.1

commons-fileupload-1.2.1-javadoc

commons-fileupload-1.2.1-sources

 

Ele funcionava ate a metade, mas descobrir que estava dando uma exceção e io

então fui a procura de resolver meu problema, e descobrir que na verdade não se utiliza apenas 3 arquivos para upload e sim 6, vou lista-los abaixo e utilizando o código que eu postei, conseguirão fácil, fácil fazer o upload de qualquer tipo de arquivo.

 

commons-fileupload-1.2.1

commons-fileupload-1.2.1-javadoc

commons-fileupload-1.2.1-sources

commons-io-1.4

commons-io-1.4-javadoc

commons-io-1.4-sources

 

 

 

Valeu pessoal! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.