2017-02-14 53 views
-1

我试图将用户信息上传到Firebase服务器。我跟着谷歌提供的guide尝试这样做,但我由于不明原因收到错误。无法访问存储分区代码= -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