我正在尝试使用AWS for Android SDK上传到AWS S3,但SDK和我的项目中的示例项目在设备上都会出现以下错误,而模拟器运行时没有问题。所以我的AWS账户没有问题。
“主机名可能不为空。”
上传代码:
s3Client.createBucket(Constants.getBucket());
PutObjectRequest por = new PutObjectRequest(Constants.getBucket(), record.getFile().getName(), record.getFile());
s3Client.putObject(por);
感谢任何帮助。
答案 0 :(得分:1)
此问题已在AWS Mobile Development Forum上解决。原因是我的设备'语言设置为土耳其语,其中包含字母ı,当模拟器的语言设置为英语时,它包含在我的存储桶名称中。
myBucketName.toLowerCase(Locale.US);
// in sample project it's = ("my-unique-name" + ACCESS_KEY + SECRET_ACCESS_KEY).toLowerCase();