2011-02-23 141 views

回答

2

我建议创建一个AsyncTask来处理您的上传,然后使用Apache Libs来为您的服务器执行POST。我现在有一个系统将图像发布到Linux服务器,然后PHP接受POST并保存图像数据。尝试这样的事情,如果我没有记错的话,你需要从Apache获得commons-io jar和httpmime jar。

import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.mime.MultipartEntity; 
import org.apache.http.entity.mime.content.InputStreamBody; 
import org.apache.http.entity.mime.content.StringBody; 
import org.apache.http.impl.client.DefaultHttpClient; 

HttpClient httpClient = new DefaultHttpClient(); 
HttpPost postRequest = new HttpPost("http://www.mywebserver.com/upload"); 

MultipartEntity multipart = new MultipartEntity(); 
multipart.addPart("photo",bitmapdata); 

postRequest.setEntity(multipart); 
HttpResponse response = httpClient.execute(postRequest); 

InputStream content = response.getEntity().getContent(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(content)); 
StringBuilder serverMsg = new StringBuilder(); 
String line = ""; 
while((line = reader.readLine()) != null){ serverMsg.append(line + "\n"); } 
content.close(); 

然后在PHP中,检查POST并使用任何库或代码保存图像。我相信你可以轻松地调整此代码发送视频数据,而不是照片。

+0

你可以给一些php代码,我使用这些方法,有时有时会失败 – pengwang 2011-11-20 09:28:34