Jestem nowy w AWS i używam go do aplikacji na iOS.AWS S3 Prześlij obraz do aplikacji Wiadro na iOS
Próbuję przesłać obrazy z mojej aplikacji na iOS do wiadka o nazwie "img.haraj.com.sa". Po przesłaniu dowolnego obrazu nie są wyświetlane w wiadrze. Ale kiedy zmienię cel na wiadro o nazwie "haraj", zostaną one przesłane i wyświetlone w wiadrze.
Oto polityka:
{
"Statement": [
{
"Sid": "**********hidden**********",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::haraj/*"
]
}
]
}
zmodyfikować to do zmiany wiadro docelowej. Stworzyłem także inne wiadra o nazwie "img1.haraj.com.sa" i próbowałem przesyłać obrazy, ale niestety także nie udało się.
Wygląda na to, że występuje problem z posiadaniem nazw pojemników z kropkami (.) I bez kropek. Nazwy wiader bez kropek działają z aplikacją na iOS, a nazwy z kropkami nie działają. Nie jestem jednak pewien. Ale mam ten problem. Nie otrzymuję żadnej odpowiedzi o błędzie w kodzie aplikacji.
Oto część mojego iOS realizacji:
- (void)postAdButtonPushed:(id)sender
{
DLog(@"Post Ad")
AmazonS3Client *s3Client = [[AmazonS3Client alloc] initWithAccessKey:AWS_ACCESS_KEY_ID withSecretKey:AWS_SECRET_KEY];
s3Client.timeout = 240;
NSString *bucketName = [NSString stringWithFormat:@"img.haraj.com.sa"];
NSString *imageName = [NSString stringWithFormat:@"testimage.jpg"];
S3PutObjectRequest *objReq = [[S3PutObjectRequest alloc] initWithKey:imageName inBucket:bucketName];
objReq.contentType = @"image/jpeg";
UIImage *testImageToUpload = [self.imagesToUpload objectAtIndex:0];
NSData *imageData = UIImageJPEGRepresentation(testImageToUpload, 0.8);
objReq.data = imageData;
objReq.delegate = self;
objReq.contentLength = [imageData length];
[s3Client putObject:objReq];
}
- (void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response
{
DLog(@"response: %@", response.description)
}
- (void)request:(AmazonServiceRequest *)request didFailWithError:(NSError *)error
{
DLog(@"Req failed: %@", error.description)
}
Stworzyłem też wątek na forum na Amazon: AWS Upload image to Bucket iOS app
Każda pomoc będzie mile widziane. Dziękuję Ci!
https://forums.aws.amazon.com/ message.jspa? messageID = 385925 – Eric
Dzięki @Eric. Ta poprawka dotyczy wersji Java. Używam pakietu AWS SDK w iOS. I zintegrowałem framework (nie kod źródłowy sdk). Miejmy nadzieję, że pojawi się jakieś proste rozwiązanie, w przeciwnym razie będę musiał obejść coś z kodem źródłowym. : \ –