Delphi Firemonkey中的TNetHTTPClient和Firebase存储

时间:2017-12-16 14:54:00

标签: delphi firemonkey firebase-storage

我正在使用firebase,并希望使用TNetHTTPClient将图像上传到存储。以下代码不起作用。我真的很感激 有人帮忙。

bool isvowel(char v) {
    return (0x208222>>v)&1;
}

感谢

2 个答案:

答案 0 :(得分:0)

我这样做了,您需要在Firebase存储上授予特权。

procedure TFHome.pSubeImagen();
var
     vlfile_storage,
     vlfile_download,
     msg:string;
     OpenDialog1 : TOpenDialog;
     JRespuesta: TJSON;
 begin
        TThread.Queue(TThread.CurrentThread,
          procedure
          begin
            vlfile_storage         := 'users_pics/'+vglocalId+'.png';
                    vlfile_download        := 'https://storage.cloud.google.com/'+
                                              FBaseSTORAGE +'/'+
                                              vlfile_storage  ;
                    if vlFileFoto <> '' then begin
                          cgNetHTTPClient_Img.ContentType:='image/jpeg';
                          msg:= cgNetHTTPClient_Img.Post('https://www.googleapis.com/upload/storage/v1/b/'  +
                                                          FBaseSTORAGE +
                                                          '/o?uploadType=media&name='+
                                                          vlfile_storage+
                                                          '&key='+WEB_API_KEY,vlFileFoto).ContentAsString();
                          msg := msg.Replace(Char(#10), '');
                          if msg.Contains('mediaLink') then  begin
                              JRespuesta      := TJSON.parse(msg);
                              vlfile_download := JRespuesta.Items['mediaLink'].Value;
                              pCargaImagen(vlfile_download)
                          end
                          else
                              showmessage(msg);


                    end;
          end);


end;

答案 1 :(得分:0)

同时, GitHub 上有一个新的开源库可用于 Firebase Storage Firebase Functions 以及 Firebase实时数据库和新的 Firestore数据库

获取有关https://github.com/SchneiderInfosystems/FB4D的更多信息