package fr.itin.gui.VisuialisationRP; /** * */ import java.io.*; import javax.swing.*; import fr.itin.constante.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.RequestEntity; import org.apache.commons.httpclient.methods.*; import org.apache.commons.httpclient.methods.multipart.*; import org.apache.commons.httpclient.params.*; public class UploadFile { String url = ""; File targetFile; //recup du jfilechooser JTextArea taTextResponse= new JTextArea(); String targetURL; public UploadFile(String _urlToUpload,File _targetFile) { targetFile=_targetFile; url = EnvCfg.WEBServerURL;//+"RP"; } public boolean uploadFile() { PostMethod filePost = new PostMethod(url); filePost.getParams().setBooleanParameter(HttpMethodParams. USE_EXPECT_CONTINUE, /*cbxExpectHeader.isSelected()*/true); try { appendMessage("Uploading " + targetFile.getName() + " to " + targetURL); Part[] parts = { new FilePart(targetFile.getName(), targetFile) }; filePost.setRequestEntity( new MultipartRequestEntity(parts, filePost.getParams()) ); HttpClient client = new HttpClient(); client.getHttpConnectionManager(). getParams().setConnectionTimeout(5000); int status = client.executeMethod(filePost); if (status == HttpStatus.SC_OK) { appendMessage( "Upload complete, response=" + filePost.getResponseBodyAsString() ); } else { appendMessage( "Upload failed, response=" + HttpStatus.getStatusText(status) ); } } catch (Exception ex) { appendMessage("Error: " + ex.getMessage()); ex.printStackTrace(); } finally { filePost.releaseConnection(); } return false; } private void appendMessage(String m) { taTextResponse.append(m + "\n"); } }