我想将照片上传到像http://imagerz.com/这样的主机。 有什么样的吗?我可以做一个简单的POST请求,但是如何将图像内容添加到我的POST请求中?
答案 0 :(得分:2)
这是一个教程,告诉您如何通过FTP 将文件发送到服务器。 File upload and download using Java
将代码“移植”到android中应该不是很难。 (您可能必须更改某些类/方法,因为其中一些类/方法可能无法在Android的轻量级VM中实现)。
还有其他图片托管服务应该有你可以遵循的API。
修改强>
正如您所说,您希望通过发布请求来执行此操作。
我用以下代码找到了这个很棒的教程:
package com.commonsbook.chap9;
import java.io.File;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.MultipartPostMethod;
public class HttpMultiPartFileUpload {
private static String url =
"http://localhost:8080/HttpServerSideApp/ProcessFileUpload.jsp";
public static void main(String[] args) throws IOException {
HttpClient client = new HttpClient();
MultipartPostMethod mPost = new MultipartPostMethod(url);
client.setConnectionTimeout(8000);
// Send any XML file as the body of the POST request
File f1 = new File("students.xml");
File f2 = new File("academy.xml");
File f3 = new File("academyRules.xml");
System.out.println("File1 Length = " + f1.length());
System.out.println("File2 Length = " + f2.length());
System.out.println("File3 Length = " + f3.length());
mPost.addParameter(f1.getName(), f1);
mPost.addParameter(f2.getName(), f2);
mPost.addParameter(f3.getName(), f3);
int statusCode1 = client.executeMethod(mPost);
System.out.println("statusLine>>>" + mPost.getStatusLine());
mPost.releaseConnection();
}
}
来源:http://www.theserverside.com/news/1365153/HttpClient-and-FileUpload
如上所述,将此代码移植到android的相同问题也适用。