amazon s3에 파일을 업로드 할 수 있어야하는 iOS 앱에서 작업하고 있지만 몇 가지 문제가 있습니다. 이 함수는 s3 버킷 내에서 올바른 키 또는 경로를 생성하지만 파일 자체는 업로드하지 않습니다. 아래 내가이 준비 키 경로를 생성ios amazon s3에 파일 업로드
if (self.s3 == nil) {
self.s3 = [[AmazonS3Client alloc] initWithAccessKey:[Config getS3Key] withSecretKey:[Config getS3Secret]] ;
}
[self performSelectorInBackground:@selector(processBackgroundThreadUploadInBackground:)
withObject:params];
}
- (void)processBackgroundThreadUploadInBackground:(NSMutableDictionary *)params
{
S3PutObjectRequest *por = [[S3PutObjectRequest alloc] initWithKey:@"staging/videos/" inBucket:@"aaa.aaaaa.com"];
por.contentType = @"video/mp4";
por.data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[params valueForKey:@"takeurl"]]];
// por.contentType = @"image/png";
// por.data = [params valueForKey:@"takeimage"];
S3PutObjectResponse *putObjectResponse = [self.s3 putObject:por];
[self performSelectorOnMainThread:@selector(showCheckErrorMessage:)
withObject:putObjectResponse.error
waitUntilDone:NO];
}
시도 옵션 1의 코드는/비디오/S3에 버킷 내에서하지만 파일이 없습니다. 나는 이미지 파일로 이것을 시도했다. 내가 밀어 올리려는 데이터가 0이 아닌지 확인했다. xml 응답 내가 서버에서 콘텐츠 길이 0 비록 말한다. 나는 또한 동일한 결과로 s3 sdk에서 다중 부분 접근법을 시도했습니다. 내가 뭘 잘못하고 있는지 알 수 있습니까?
AWS Java SDK를 사용할 때 AmazonS3Client의 설명서에 Content-Length를 설정해야한다고 나와 있습니다. 아마도 이것은 확인할 것이 무엇입니까? –
두려움은 데이터의 길이에 대한 objectrequest의 콘텐츠 길이를 설정해도 차이가 없습니다. 덕분에 – glogic
@glogic 대답을 알아낼 수 있었습니까 –