2017-10-10 7 views
0

파일 이름에 터키어 문자 (ş, ı, ü, ö, ö, ğ)가 포함되어 있으면 파일이 웹 서버에 업로드되지 않습니다. 웹 서버에 업로드 php 페이지에서 수행됩니다. 거기에 아무런 문제가 없습니다. 터키어 문자 (영문자)가 포함되지 않은 파일 이름을 업로드합니다. 이 문제를 어떻게 해결합니까?웹 서버에 파일 업로드 문제

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으로, 첫 번째 인수로 전달할 텍스트를 특수 문자와 함께 넣고 두 번째 인수에서 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)))); // 작동하지 않았습니다. ( –