Android: простой способ загрузить изображение на хост изображения - PullRequest
1 голос
/ 29 марта 2011

Я хотел бы загрузить картинку на хост, например: http://imagerz.com/.Любой образец для этого?Я могу сделать простой POST-запрос, но как добавить содержимое изображения в мой POST-запрос?

1 Ответ

2 голосов
/ 29 марта 2011

Вот учебник, в котором рассказывается, как отправить файл через FTP на сервер. Загрузка и выгрузка файлов с использованием Java

Нетрудно «портировать» этот код на Android.(Возможно, вам придется изменить некоторые классы / методы, поскольку некоторые из них могут быть не реализованы в облегченной виртуальной машине Android).

Существуют также другие службы хостинга изображений, которые должны иметь 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 действуют те же проблемы, что и выше.

...