2013-09-27 99 views
0

我已经尝试了很多不同的解决方案,以一个XML文件发布到PHP服务器。发送XML到PHP服务器与Android

的响应始终为 “十月9日至27日:49:10.550:I/TAG(3950):文件MIME-TYPE无法识别”。

代码的最后一个版本是:

httppost.setHeader("Content-Type","text/xml;charset=\"UTF-8\""); 

    String textToUpload = ""; 
    try { 
     textToUpload = getStringFromFile(fileName); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return new StringEntity(textToUpload); 

之前有这样的连接的初始化:

private void openConnection() throws IOException { 
    httpclient = new DefaultHttpClient(); 
    httppost = new HttpPost(url); 
} 

,响应被以这种方式处理后:

private int getServerResponse() throws IOException { 
    HttpResponse response = httpclient.execute(httppost); 
    Log.i("CIAO", EntityUtils.toString(response.getEntity())); 
    StatusLine statusLine = response.getStatusLine(); 
    return statusLine.getStatusCode(); 
} 

我自己也尝试这种解决方案(和很多不同的人),但没有成功:

File file = new File(fileName); 
    httppost.setHeader("Content-Type","text/xml;charset=UTF-8"); 

    ContentBody fb = new FileBody(file, "text/xml"); 
    MultipartEntity entity = new MultipartEntity(
      HttpMultipartMode.STRICT); 
    entity.addPart("file", fb); 
    httppost.setEntity(entity); 

任何想法?

回答

0

我已经解决了这个问题是这样的:

File file = new File(fileName); 

    ContentBody fb = new FileBody(file, "text/xml"); 
    MultipartEntity entity = new MultipartEntity(
      HttpMultipartMode.BROWSER_COMPATIBLE); 
    entity.addPart("file", fb); 
    httppost.setEntity(entity); 
    return entity; 

我不知道这个问题是否严格或页眉设置..反正现在它的工作原理.. :)