2017-02-14 8 views
-1

firebaseサーバにユーザ情報をアップロードしようとしています。私はguide Googleに提供しようとしたが、私は不明の理由でエラーが発生している提供した。ここでバケツにアクセスできないCode = -13000 Firebase

は、タスクが実行されているとき、私は実行時にアップロードタスク

 NSMutableDictionary *userdata = [[NSMutableDictionary alloc] init]; 
     [userdata setObject:name forKey:@"name"]; 
     [userdata setObject:email forKey:@"email"]; 
     [userdata setObject:username forKey:@"username"]; 
     [userdata setObject:handphoneNumber forKey:@"HPNO"]; 

     [[FIRAuth auth] createUserWithEmail:email password:password completion:^(FIRUser * _Nullable user, NSError * _Nullable error) { 
      if (user) { 

       NSString *storageUrl = [FIRApp defaultApp].options.storageBucket; 
       self.storageRef = [[FIRStorage storage] referenceForURL:[NSString stringWithFormat:@"gs://%@", storageUrl]]; 
       NSString *usrstring = [NSString stringWithFormat:@"%@",userdata]; 
       NSData *data = [NSData dataWithContentsOfFile:usrstring]; 
       FIRStorageReference *userRef = [self.storageRef child:usrstring]; 
       FIRStorageUploadTask *uploadTask = [userRef putData:data 
                  metadata:nil 
                  completion:^(FIRStorageMetadata * metadata, NSError * error) { 
                   if (error) { 
                    NSLog(@"ERROR -- %@",error); 
                   } 
                  }]; 
       } 
     }]; 

を実行する方法ですが、私はコンソールでこれを直面

Cannot get file size: (null) 
    (null) 
2017-02-15 01:38:09.772 E-Learning[2280:92867] ERROR -- Error Domain=FIRStorageErrorDomain Code=-13000 "An unknown error occurred, please check the server response." UserInfo={object={ 
    HPNO = 123123; 
    email = "[email protected]"; 
    name = test; 
    username = test; 
}, bucket=firebase-testrun8519.appspot.com, ResponseBody={ 
    "error": { 
    "code": 500, 
    "message": "An internal error has occurred. Could not access bucket firebase-testrun8519.appspot.com" 
    } 
}, data=<7b0a2020 22657272 6f72223a 207b0a20 20202022 636f6465 223a2035 30302c0a 20202020 226d6573 73616765 223a2022 416e2069 6e746572 6e616c20 6572726f 72206861 73206f63 63757272 65642e20 20436f75 6c64206e 6f742061 63636573 73206275 636b6574 20666972 65626173 652d656c 6561726e 696e6773 672e6170 7073706f 742e636f 6d220a20 207d0a7d>, NSLocalizedDescription=An unknown error occurred, please check the server response., ResponseErrorDomain=com.google.HTTPStatus, ResponseErrorCode=500} 

すべてのヘルプははるかに高く評価されるだろうし、ありがとうございます。

答えて

0

変更するコードを整理します:

NSString *storageUrl = [FIRApp defaultApp].options.storageBucket; 
self.storageRef = [[FIRStorage storage] referenceForURL:[NSString stringWithFormat:@"gs://%@", storageUrl]]; 

的には:

self.storageRef = [[FIRStorage storage] reference]; 

はさらに、dataWithContentsOfFile:は、ディスク上のファイルではなく、アップロードしたい文字列へのパスを表す文字列を取ります。代わりにNSString dataUsingEncoding:を使用します(NSUTF8StringEncodingを使用することをお勧めします)。詳細については、the docsを参照してください。

関連する問題