亚马逊s3文件从android下载

时间:2014-10-03 05:57:47

标签: android amazon-web-services amazon-s3

我正在尝试制作演示应用。

将图像从我的s3服务器下载到手机存储卡。

我尝试了演示代码并编写了以下内容。但是一旦我在手机上运行它,app力就会关闭。 任何帮助将不胜感激。

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
File f=null;    
    try{
    File dir= Environment.getExternalStorageDirectory();
 f= new File(dir,"test.jpg");
    }
    catch(Exception e)
    {
        Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_SHORT).show();            
    }
    AWSCredentials creden=new BasicAWSCredentials(accessKey,secretKey);
    AmazonS3Client s3Client=new AmazonS3Client(creden);

    ObjectMetadata obj= s3Client.getObject(new GetObjectRequest("adj-temp","funflick_1.jpg"),f);


}

1 个答案:

答案 0 :(得分:2)

尝试这样可以使用快乐编码

{
        String str_FilePathInDevice = "/sdcard/" + "/"
                + "RestoreFolderName" + "/" + "filname.extention";

        File file = new File(str_FilePathInDevice);

        String str_Path = file.getPath().replace(file.getName(), "");
        File filedir = new File(str_Path);

        try {
            filedir.mkdirs();
        } catch (Exception ex1) {
        }
        S3Object object = s3Client.getObject(new GetObjectRequest(
                "BucketName", "keyName"));

        BufferedReader reader = new BufferedReader(new InputStreamReader(
                object.getObjectContent()));
        Writer writer = new OutputStreamWriter(new FileOutputStream(file));

        while (true) {
            String line = reader.readLine();
            if (line == null)
                break;
            writer.write(line + "\n");
        }
    writer.flush();
    writer.close();
    reader.close();
}