/** * * FileUploader * * @version 1.0 vom 25.06.2015 * @author Daniel Ruf */ import java.io.File; import java.io.IOException; import java.io.FileFilter; import java.util.Properties; import java.io.FileInputStream; import org.apache.http.client.methods.HttpPost; import org.apache.http.HttpHost; import org.apache.http.HttpEntity; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class fileuploader { public static void main(String[] args) throws Exception { File[] myarray; String version = "1.0.0"; String program = "FileUploader"; System.out.println(program + " " + version ); Properties prop = new Properties(); String path2 = ""; String upload_path = ""; try { prop.load(new FileInputStream("settings.properties")); path2 = prop.getProperty("testfiles_directory"); upload_path = prop.getProperty("upload_path"); } catch (IOException ex) { ex.printStackTrace(); } File directory = new File(path2); myarray=directory.listFiles(new FileFilter() { public boolean accept(File dir) { return dir.isFile(); } }); int numfiles=myarray.length; int status_200=0; int status_403=0; for (int j = 0; j < myarray.length; j++) { int file_number = j+1; System.out.print("\rProcessing file " + file_number + " of " + myarray.length); File path=myarray[j]; String path_current = path.toString(); File file = new File(path_current); String filename = path.getName(); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost(upload_path); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); builder.addBinaryBody("file", file, ContentType.APPLICATION_OCTET_STREAM, filename); HttpEntity multipart = builder.build(); uploadFile.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(uploadFile); //System.out.println(response.getStatusLine()); if(response.getStatusLine().getStatusCode()==200)status_200++; if(response.getStatusLine().getStatusCode()==403)status_403++; EntityUtils.consume(response.getEntity()); response.close(); } System.out.println(""); System.out.println("Results:"); System.out.println("200\t "+status_200+"/"+numfiles); System.out.println("403\t "+status_403+"/"+numfiles); } // end of main } // end of class stressuploader