у меня есть образ 5Kb, когда я преобразую его в строку Base64 и загружаю в удаленную базу данных, удаленному запросу INSERT требуется всего несколько секунд
но .. у меня есть изображение размером 100 КБ, когда я преобразовываю его в строку Base64 и загружаю в свою удаленную базу данных, удаленному запросу INSERT требуется много секунд для выполнения
почему
это потому, что Base64 String требуется 100 КБ пространства, как некодированное изображение?
есть способ решить эти времена ожидания?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: я использую PHP + JSOn для подключения к удаленной базе данных mysql.
Одед предложил мне не использовать Base64 и использовать BLOB, а не LONGTEXT. Но .... ¿как использовать BLOB с JSON + PHP? я не знаю, как я знаю, JSON + PHP должен получать и отправлять строки, а BLOB не является строкой
спасибо
РЕДАКТИРОВАТЬ 2:
это код, в котором требуется время ожидания (оно ожидает в строке: while ((line = reader.readLine()) != null) {
, ожидание reader.readLine()
)
этот код получает одного пользователя из удаленной базы данных, требуется много времени, чтобы показать пользователя в моем приложении
public Friend RetrieveOneUser(String email)
{
Friend friend=null;
String result = "";
//the parameter data to send
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("email",email));
//http post
InputStream is=null;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(this.BaseURL + this.GetOneUser_URL);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//parse json data
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++)
{
JSONObject json_data = jArray.getJSONObject(i);
friend=new Friend(json_data.getString("email"),json_data.getString("password"), json_data.getString("fullName"), json_data.getString("mobilePhone"), json_data.getString("mobileOperatingSystem"),"",json_data.getString("photo"));
}
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
return friend;
}