我正在使用firebase,并希望使用TNetHTTPClient将图像上传到存储。以下代码不起作用。我真的很感激 有人帮忙。
bool isvowel(char v) {
return (0x208222>>v)&1;
}
感谢
答案 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数据库: