FireMonkey에서 모바일 응용 프로그램을 개발 중이며 스마트 폰 카메라로 사진을 찍어 Firebird 데이터베이스에 저장하고 싶습니다.인디 HTTP 연결 FireMonkey에서 모든 이미지 데이터를 가져 오지 않는 이유는 무엇입니까?
서버에서 모든 이미지 데이터를 가져 오지 않았기 때문에 HTTP 연결을 통해 이미지 데이터를 전달하는 데 문제가 있습니다. HTTP의 GET 요청에 매개 변수의 최대 크기가 있다고 생각합니다. 연결 또는 유사한 무언가. 스트림
이미지 저장 DATA :
이
은 내가 사용하는 코드입니다. PASS STREAM TO JSONstream := TMemoryStream.Create;
try
image.Bitmap.SaveToStream(stream);
stream.Position := 0;
jsonPhoto := TJSONArray.Create;
try
jsonPhoto := TDBXJSONTools.StreamToJSON(stream, 0, stream.Size);
finally
//jsonPhoto.Free;
end;
finally
stream.Free;
end;
화상 데이터가 jsonPhoto.toString의 크기는 2368 바이트 이다. HTTP 연결
try
result := IdHTTP1.Get(TIdURI.PathEncode('http://'+MyDirIP+':8080/DATABASE_NAME?USERNO='+userNum+'&BUILDINGNO='+jsonBuildNo+'&BUILDINGNAME='+jsonBuildName+'&OBJECTNO='+jsonObjNo+'&OBJECTNAME='+jsonObjName+'&PHOTO='+jsonPhoto.ToString+'&NOTE='+memo_Notes.Lines.Text));
except
on E: Exception do begin
ShowMessage('Error connection: '+E.Message);
end;
end;
내가 서버에서 얻을 jsonPhoto.toString의 내용을 BY 서버에
송신 데이터 나는 이러한 이유에 의해, 전송 모든 데이터를 가지고, 나는 매개 변수가 있다고 생각 HTTP 연결에서 기본적으로 크기입니다. 또한 수신 된 이미지 데이터의 크기가 999 바이트임을 테스트했습니다. 다른 매개 변수에서는 문제없이 모든 정보를 얻습니다.
또한 서버에 데이터를 가져올 때 json 텍스트 또는 스트림처럼 데이터베이스에 저장해야합니까?
감사합니다.
예, 정확히 어떤 일이 일어 났습니까 !! POST를 사용하여 연결 문제를 해결했지만 크기가 제한되어 있었기 때문에 제한하지 못했습니다. 고마워, 나는이 문제로 오랜 시간이 걸렸다. 내 대답이 늦어서 미안해. – KryNaC