|
var MyForm: TclForm; ImgChooserBtn: TclButton; UploadBtn: TclButton; UserImg: TClProImage;
// Galeriden/Kameradan Resim Seçme void OnImgChooserClick; begin Clomosy.ImageChooser(MyForm, UserImg); end;
// Resmi Sunucuya Gönderme void OnUploadClick; var LBase64Data, LJsonBody: String; RestObj: TclRest; begin // Resim seçilmiş mi kontrol et if UserImg.clProSettings.PictureSource = '' then begin ShowMessage('Lütfen önce bir resim seçin.'); Exit; end;
// 1. Resmi Base64 string formatına dönüştür LBase64Data := Clomosy.FileToBase64(UserImg.clProSettings.PictureSource); // 2. JSON gövdesini oluştur LJsonBody := '{"image_name":"user_profile.jpg", "image_data":"' + LBase64Data + '"}'; // 3. Aracı API'ye POST isteği gönder RestObj := TclRest.Create; try RestObj.BaseURL := ' https://sizin-api-adresiniz.com/upload-image" rel="nofollow - https://sizin-api-adresiniz.com/upload-image '; // Kendi API adresiniz RestObj.Method := rmPOST; RestObj.Accept := 'application/json'; RestObj.AddBody(LJsonBody, 'application/json'); RestObj.Execute; // Sunucudan dönen yanıtı (Örn: Firebase Download URL) göster ShowMessage('Sunucu Yanıtı: ' + RestObj.Response); finally RestObj.Free; end; end;
begin MyForm := TclForm.Create(Self); UserImg := MyForm.AddNewProImage(MyForm, 'UserImg'); UserImg.Align := alTop; UserImg.Height := 200; ImgChooserBtn := MyForm.AddNewButton(MyForm, 'ImgChooserBtn', 'Resim Seç'); ImgChooserBtn.Align := alTop; MyForm.AddNewEvent(ImgChooserBtn, tbeOnClick, 'OnImgChooserClick'); UploadBtn := MyForm.AddNewButton(MyForm, 'UploadBtn', 'Yükle'); UploadBtn.Align := alTop; MyForm.AddNewEvent(UploadBtn, tbeOnClick, 'OnUploadClick'); MyForm.Run; end; Node.js veya PHP ile yazılmış basit bir endpoint oluşturulup, Clomosy'den resmi Base64 olarak bu API'ye gönderip, API üzerinden Firebase Storage yüklemesini tamamlayarak dönen resmi indirme URL'sini Clomosy'ye teslim etmek gerekiyor. https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|