我将假设你知道要上传的图像的路径和文件名。将此字符串作为键名添加到你的
NamevaluePair使用
image中。
可以使用HttpComponents库发送图像。下载具有依赖项包的最新HttpClient(当前为4.0.1)二进制文件,并将其复制
apache-mime4j-0.6.jar并复制
httpmime-4.0.1.jar到你的项目中,然后将其添加到Java构建路径中。
你将需要在类中添加以下导入。
import org.apache.http.entity.mime.HttpMultipartMode;import org.apache.http.entity.mime.MultipartEntity;import org.apache.http.entity.mime.content.FileBody;import org.apache.http.entity.mime.content.StringBody;
现在,你可以创建一个
MultipartEntity将图像附加到POST请求。以下代码显示了如何执行此操作的示例:
public void post(String url, List<NamevaluePair> namevaluePairs) { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpPost httpPost = new HttpPost(url); try { MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); for(int index=0; index < namevaluePairs.size(); index++) { if(namevaluePairs.get(index).getName().equalsIgnoreCase("image")) { // If the key equals to "image", we use FileBody to transfer the data entity.addPart(namevaluePairs.get(index).getName(), new FileBody(new File (namevaluePairs.get(index).getValue()))); } else { // Normal string data entity.addPart(namevaluePairs.get(index).getName(), new StringBody(namevaluePairs.get(index).getValue())); } } httpPost.setEntity(entity); HttpResponse response = httpClient.execute(httpPost, localContext); } catch (IOException e) { e.printStackTrace(); }}我希望这可以帮助你在正确的方向上有所帮助。



