code using Amazon SDK
package test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
public class PostFile {
public static void main(String[] args) throws IOException {
AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(
PostFile.class.getResourceAsStream("AwsCredentials.properties")));
System.out.println("put data on amazon");
s3.setEndpoint("http://localhost:8080/");
String bucketName="www.egtry.com";
String path="test2/ok";
ByteArrayInputStream in=new ByteArrayInputStream("<b>Hello</b>".getBytes());
Map<String, String> mydata=new HashMap<String, String>();
mydata.put("name1", "value1");
mydata.put("name2", ""+2);
ObjectMetadata meta=new ObjectMetadata();
meta.setContentType("text/html");
meta.setUserMetadata(mydata);
PutObjectRequest obj=new PutObjectRequest(bucketName, path, in,meta);
System.out.println("put an object");
s3.putObject(obj);
System.out.println("an object file was created");
System.exit(0);
}
}
http request raw
PUT /test2%2Fok HTTP/1.1
Host: www.egtry.com.localhost:8080
Authorization: AWS 0PN72VKV7PEQD0DPVJR2:slkxQzzp/dRNRRBfG2gJapW/5NM=
Date: Tue, 06 Sep 2011 03:55:16 GMT
x-amz-meta-name1: value1
x-amz-meta-name2: 2
Content-Type: text/html
Content-Length: 12
Connection: Keep-Alive
User-Agent: aws-sdk-java/1.2.7 Windows_XP/5.1 Java_HotSpot(TM)_Client_VM/20.2-b06
Expect: 100-continue
<b>Hello</b>