2017-10-10 11 views
0

ファイル名にトルコ文字(ş、ı、ü、ü、ö、ğ)が含まれている場合、ファイルはWebサーバーにアップロードされません。 WebサーバーへのアップロードはPHPページで行われます。そこに問題はありません。トルコ語の文字(英字)を含まないファイル名をアップロードします。この問題をどうやって解決するのですか?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; 
    } 

答えて

0

あなたにはUTF-8エンコーディングがありません。 StringBodyとして、最初の引数として渡すテキストをそれらの特殊文字で置き、2番目の引数にutf-8と言ってください。

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

textview.getTextと

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

()のtoStringを置き換えます()? –

+0

は私のソースファイルですか? –

+0

entity.addPart( "dosya"、新しいStringBody(kaynakDosya.toString()、Charset.forName(HTTP.UTF_8))); //それがうまくいかなかった:( –

関連する問題