0

これをしばらくの間機能させようとしてきましたが、データとストリーミングで試してみましたが、うまくいきませんでした。アップロード先のバケットが既に存在するため、ほとんどの例に示されているようにバケットを作成する必要はないと思います、また、アクセスしようとしているバケットを教えてくれますが、アップロードしようとするとこれが表示されます

「S3 への画像のアップロード中にエラーが発生しました: 指定した XML は整形式ではないか、公開されたスキーマに対して検証されませんでした」

ここにコードがあります

UIImage * img = [[[[CurrentGamesInfo sharedCurrentGamesInfo]GameInCreation] GetImageToSend]_imageToSend];
    NSData *savedImageData = UIImageJPEGRepresentation(img, 0.8);
    NSString *pictureName = [[[CurrentGamesInfo sharedCurrentGamesInfo]GameInCreation] GetGameID];

    @try 
    {
        AmazonS3Client *s3 = [[[AmazonS3Client alloc] initWithAccessKey:MY_ACCESS_KEY_ID withSecretKey:MY_SECRET_KEY] autorelease];

        //[s3 createBucket:[[[S3CreateBucketRequest alloc] initWithName:MY_PICTURE_BUCKET] autorelease]];
        NSArray *bucketArray = [s3 listBuckets];
        S3Bucket *bucket = [[s3 listBuckets] objectAtIndex:0];
        NSLog(@"%@",[bucket name]);


        S3PutObjectRequest *por = [[[S3PutObjectRequest alloc] initWithKey:pictureName inBucket:MY_PICTURE_BUCKET] autorelease];
        por.contentType = @"image/jpeg";

        //por.data = savedImageData;
        //por.cannedACL   = [S3CannedACL publicRead];

        S3UploadInputStream *stream = [S3UploadInputStream inputStreamWithData:savedImageData];
        //stream.delay = 0.2; 
        //stream.packetSize = 16;
        por.contentLength = [savedImageData length];
        por.stream = stream;

        [s3 putObject:por];      
    }
    @catch (AmazonClientException *exception) 
    {
        NSLog(@"Error uploading image to S3: %@", exception.message);
    }

sooooo...何が間違っているのですか?

4

1 に答える 1

5

気にしないでください...変数"pictureName"はnilでした...私は恥ずかしそうに飛び去ります

于 2012-10-04T05:17:57.043 に答える