Android:将图片上传到图像主机的简单方法

时间:2011-03-29 17:40:17

标签: android upload

我想将照片上传到像http://imagerz.com/这样的主机。 有什么样的吗?我可以做一个简单的POST请求,但是如何将图像内容添加到我的POST请求中?

1 个答案:

答案 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的相同问题也适用。