1

我允许用户拍摄个人资料照片。然后它设置一个 ImageView。之后,我想启动一个AsyncTask并将图像上传到服务器。我已经在几个PHP地方开设了几个课程,可以从我做过的几个网络应用程序中做到这一点。

我的问题是,我不知道如何做 HttpPost 部分。我已经通过来回传递字符串而不是图像完成了许多这样的操作。

我不想将文件作为 Blob 存储在数据库中。我的课程设置为检索文件PHP,命名文件并将它们移动到一个位置。然后将文件路径存储在服务器中。

所以如果我有这个:

photo = (Bitmap) data.getExtras().get("data");

我如何通过photo服务器传递HttpPost?我有很多方法,如 Mutilpart、Base64 等。不确定最好的现代方法?

4

1 回答 1

3

在安卓端:

HttpClient client = new DefaultHttpClient();

HttpPost post = new HttpPost( url );
MultipartEntity entity = new MultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE );

entity.addPart( "theFile", new FileBody((( new File( filename ), mimeType ));

post.setEntity( entity );

client.execute( post );

显然,您需要设置 mimeType 并将“theFile”替换为适当的参数。在 PHP 方面,这只是一个常规的文件上传。

于 2013-03-12T17:23:21.837 回答