Comment utiliser BLOB JSON et PHP?

J'ai une base de données distante avec MySQL, et je suis le stockage de photos des utilisateurs de mon application sur la base de données en ligne de la base de données avec LONGTEXT type.

Je transforme les photos d'une chaîne Base64.

- Je me connecter à ma base de données distante avec JSON et PHP, parce que cela, je dois utiliser Base64, parce que je sais, JSON et besoin de PHP pour envoyer des chaînes sur les paramètres, et avec Base64 je peux transformer la photo en string.

Il fonctionne ok, mais c'est très lent. Quand je suis le chargement d'une photo de 100 KO, il faut beaucoup de temps, mais quand je suis le chargement d'une photo de 5 KO il ne faut que deux ou trois secondes.

Un ami m'a dit d'utiliser BLOB au lieu de Base64, mais comment puis-je utiliser BLOB JSON et un PHP de connexion à la base de données? Aussi, j'ai besoin de stocker les images sur une ligne de la table USER. C'est parce que les utilisateurs n'ont pas de privilèges pour télécharger des fichiers sur le serveur distant, mais ils peuvent télécharger des photos en les téléchargeant comme une chaîne de caractères dans une ligne de la table USER.

grâce

EDIT:

c'est le code où il prend un looot temps d'attente (il attend dans la ligne: while ((line = reader.readLine()) != null) { , il est en attente sur reader.readLine() )

ce code obtient un utilisateur de la base de données distante, il faut un loooooot de temps pour montrer à l'utilisateur sur mon app

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;
}
Stocker les images elles-mêmes dans la base de données (plutôt que de simplement stocker une référence à un fichier dans le système de fichiers distant) est probablement un mauvais coup. Il y a une très bonne question existante qui se penche sur ce sujet dans quelques détails: le Stockage des Images dans la bd - Oui ou Non?
je ne peux pas stocker une référence à un fichier dans la distance filesistem parce que les UTILISATEURS de l'APPLICATION peuvent pas télécharger des photos dans la télécommande sistem..... je l'ai dit dans ma question ¿pourquoi quelqu'un m'a mis un vote négatif??
pourquoi on ne peut pas les utilisateurs de télécharger des photos sur le système?
+1 c'est toujours une question légitime, si oui ou non vous êtes d'accord avec lui, le stockage des photos dans la base de données n'est pas pertinent.
Votre installation semble très inefficace, ce qui est probablement pourquoi c'est si lent. Pourquoi ne pouvez-vous pas enregistrer le fichier, puis enregistrez le nom de fichier dans la base de données? Vous pouvez utiliser le standard HTTP de Téléchargement pour cette & PHP $_FILES variable. Beaucoup de liens utiles ici: stackoverflow.com/questions/2544517/...

OriginalL'auteur NullPointerException | 2011-01-31