Delphi是一種編程語言,可以用于開發(fā)Windows和Web應(yīng)用程序。JSON是一種輕量級的數(shù)據(jù)交換格式,可以用于傳輸結(jié)構(gòu)化數(shù)據(jù)。在Delphi中,我們可以使用JSON格式來傳輸圖片,這樣可以節(jié)省帶寬和傳輸時間。
// 步驟1.讀取圖片 var jpg: TJPEGImage; begin jpg := TJPEGImage.Create; jpg.LoadFromFile('image.jpg'); // 步驟2.將圖片轉(zhuǎn)為Base64字符串 var jpgStream: TMemoryStream; jpgBase64Str: string; begin jpgStream := TMemoryStream.Create; jpg.SaveToStream(jpgStream); jpgBase64Str := TBase64Encoding.Base64.Encode(jpgStream.Memory, jpgStream.Size); // 步驟3.封裝JSON對象 var jsonObj: TJSONObject; jsonPair: TJSONPair; begin jsonObj := TJSONObject.Create; jsonPair := TJSONPair.Create('image', TJSONString.Create(jpgBase64Str)); jsonObj.AddPair(jsonPair); // 步驟4.發(fā)送JSON數(shù)據(jù) var http: TIdHTTP; response: string; begin http := TIdHTTP.Create(nil); try response := http.Post('http://example.com/api/upload', jsonObj.ToString); finally http.Free; end; // 步驟5.處理服務(wù)器響應(yīng) var jsonResp: TJSONObject; jsonRespValue: TJSONValue; begin jsonResp := TJSONObject.ParseJSONValue(response) as TJSONObject; try jsonRespValue := jsonResp.GetValue('success'); if jsonRespValue is TJSONBool then begin if TJSONBool(jsonRespValue).AsBoolean then ShowMessage('圖片上傳成功') else ShowMessage('圖片上傳失敗'); end; finally jsonResp.Free; end; end; end; end; end; end;
以上代碼將圖片讀取后轉(zhuǎn)為Base64字符串,并封裝為JSON對象發(fā)送到服務(wù)器。服務(wù)器會解析JSON數(shù)據(jù),將Base64字符串轉(zhuǎn)為圖片并存儲在服務(wù)器上。
下一篇vue 記住滾動位置