2017-10-10 4 views
0

Si le nom de fichier contient des caractères turcs (ş, ı, ü, ü, ü, ö,)), le fichier n'est pas téléchargé sur le serveur Web. Le téléchargement sur le serveur Web est fait sur la page php. Il n'y a pas de problème là-bas. Il télécharge les noms de fichiers qui ne contiennent pas de caractères turcs (lettres anglaises). Comment puis-je résoudre ce problème?Problème de téléchargement de fichiers sur un serveur Web

private String uploadFile() 
    { 
     String responseString = null; 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(Config.FILE_UPLOAD_URL); 
     try 
     { 
      AndroidMultiPartEntity entity = new AndroidMultiPartEntity(new ProgressListener() { 
      @Override 
      public void transferred(long num) { 
       publishProgress((int) ((num/(float) totalSize) * 100)); 
      } }); 

      File kaynakDosya = new File(filePath); 

      entity.addPart("dosya", new FileBody(kaynakDosya)); 
      entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya)); 

      totalSize = entity.getContentLength(); 
      httppost.setEntity(entity); 

      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity r_entity = response.getEntity(); 

      int statusCode = response.getStatusLine().getStatusCode(); 
      if (statusCode == 200) { 
       responseString = EntityUtils.toString(r_entity); 
      } else { 
       responseString = "Bir hata oluştu! Http Durum Kodu: " + statusCode; 
      }   
     } 
     catch (ClientProtocolException e) { 
      responseString = e.toString(); 
     } 
     catch (IOException e) { 
      responseString = e.toString(); 
     } 
     return responseString; 
    } 

Répondre

0

Je crois qu'il vous manque le codage UTF-8. Comme StringBody, mettez le texte que vous passez en premier argument avec ces caractères spéciaux, et assurez-vous de dire que c'est utf-8 dans le 2ème argument. Remplacer

entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya)); 

avec

entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya, Charset.forName(HTTP.UTF_8)))); 
+0

textview.getText() toString(). ?? –

+0

est mon fichier source? –

+0

entity.addPart ("dosya", nouveau StringBody (kaynakDosya.toString(), Charset.forName (HTTP.UTF_8)));// il n'a pas fonctionné :( –