我正在使用以下代码下载s3。这段代码来自我的Android应用程序。
public void downloadFile(String baseDir, String imageName) throws IOException { this.s3Client = new AmazonS3Client(new BasicAWSCredentials(accessKey,secretKey)); String s3key = baseDir + "/" + imageName ; Log.d(tag, "downloading S3 file with key = " + s3key); S3ObjectInputStream content = null; try { content = s3Client.getObject(bucketName,s3key).getObjectContent(); } catch(RuntimeException ex) { Log.e(tag, "error while downloding S3 file with key = " + s3key ,ex); throw new IOException(ex); }
当我执行这段代码时,我会得到以下异常:
02-28 00:48:53.589: D/s3dao(4078): downloading S3 file with key = level1/2_3.jpg 02-28 00:48:54.800: I/AmazonHttpClient(4078): Unable to execute HTTP request: fourpicstest.s3.amazonaws.com 02-28 00:48:54.800: I/AmazonHttpClient(4078): java.net.UnknownHostException: fourpicstest.s3.amazonaws.com 02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.lookupHostByName(InetAddress.java:512) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:300) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.getAllByName(InetAddress.java:259) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:278) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) 02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)