Boa tarde a todos, tenho uma aplicação desktop onde preciso fazer upload de imagens para um servidor web que está em java, já consigo buscar as imagens a partir da url e mostra-las no programa porém ainda não consegui fazer o upload que eu quero. Olhei no google e vi uns exemplos porém não consegui executa-los, também vi o seguinte tópico aqui http://www.guj.com.br/java/102538-app-desktop-fazer-upload-de-arquivos-na-webtem-como onde ricardosoares indica o ‘Apache HttpComponents’, também não consegui rodar o exemplo dele, baixei as dependências porém ainda acusava erro de importação das dependências.
Alguém teria algum exemplo para me passar? Ou alguma outra dica?
Boa tarde a todos, tenho uma aplicação desktop onde preciso fazer upload de imagens para um servidor web que está em java, já consigo buscar as imagens a partir da url e mostra-las no programa porém ainda não consegui fazer o upload que eu quero. Olhei no google e vi uns exemplos porém não consegui executa-los, também vi o seguinte tópico aqui [url]http://www.guj.com.br/java/102538-app-desktop-fazer-upload-de-arquivos-na-webtem-como[/url] onde ricardosoares indica o 'Apache HttpComponents', também não consegui rodar o exemplo dele, baixei as dependências porém ainda acusava erro de importação das dependências.
Alguém teria algum exemplo para me passar? Ou alguma outra dica?
usa o protocolo http e dá um POST com a imagem como parâmetro.
try{// Construct dataStringdata=URLEncoder.encode("key1","UTF-8")+"="+URLEncoder.encode("value1","UTF-8");data+="&"+URLEncoder.encode("key2","UTF-8")+"="+URLEncoder.encode("value2","UTF-8");// Send dataURLurl=newURL("http://hostname:80/cgi");URLConnectionconn=url.openConnection();conn.setDoOutput(true);OutputStreamWriterwr=newOutputStreamWriter(conn.getOutputStream());wr.write(data);wr.flush();// Get the responseBufferedReaderrd=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringline;while((line=rd.readLine())!=null){// Process line...}wr.close();rd.close();}catch(Exceptione){}
I
Ivan_Alves
juliocbq tentei sua dica alterando para minha necessidade porém ao chegar no servlet que está dessa forma
@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{//response.setContentType("multipart/form-data;charset=UTF-8");booleanisMultipart=ServletFileUpload.isMultipartContent(request);if(!isMultipart){System.out.println("Não é multipart");response.getWriter().println("Não é multipart");}else{System.out.println("Iniciando upload para o servidor");response.getWriter().println("Iniciando upload para o servidor!");FileItemFactoryfactory=newDiskFileItemFactory();ServletFileUploadupload=newServletFileUpload(factory);upload.setSizeMax[telefoneremovido]);Listitems=null;try{items=upload.parseRequest(request);}catch(FileUploadExceptione){e.printStackTrace();}Iteratoritr=items.iterator();while(itr.hasNext()){FileItemitem=(FileItem)itr.next();if(item!=null){if(item.isFormField()){}else{try{StringitemName=item.getName();Stringlocation="/teste/";intindex=itemName.lastIndexOf("\\")+1;StringfileName=itemName.substring(index,itemName.length());System.out.println("File Name: "+fileName);GenericServletconfig=null;FilesavedFile=newFile(location+fileName);item.write(savedFile);System.out.println("Salvou no local:"+location+fileName);response.getWriter().println("Upload realizado com sucesso em "+location+fileName);}catch(Exceptione){response.getWriter().println("Erro ao fazer upload: "+e.getMessage());e.printStackTrace();}}}}}}
Ai ele cai no primeiro if dizendo que ‘Não é multipart’
TerraSkilll vi as alternativas sugeridas por você, a do FTP não será possível, e a do Socket acredito que também não, já que a aplicação do servidor é Java Web.
I
Ivan_Alves
Consegui acessei esse link http://www.experts-exchange.com/Web_Development/WebTrends_Stats/Q_24073356.html e tentei fazer o que o usuário bluebelldiscovery porém o meu estava dando alguns erros na hora de salvar então verifiquei melhor e mudei o caminho que ele estava utilizando ai deu certo, agora vou melhorar o código e tentar posta-lo aqui para que possa ajudar mais alguém que precisar!