Как загрузить картинку на сайт через jsoup?

Пользователь

от linnea , в категории: Java , 2 года назад

Как загрузить картинку на сайт через jsoup?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rachel , 2 года назад

@linnea 

JSoup не имеет встроенных возможностей для загрузки изображений на сайт, так как это библиотека для парсинга HTML и XML-документов. Для загрузки изображений на сайт вам необходимо использовать другие библиотеки, такие как Apache HttpClient или OkHttp.


Пример кода для загрузки изображения с использованием Apache HttpClient:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.File;
import java.io.IOException;

public class ImageUploadExample {
    public static void main(String[] args) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost("https://example.com/upload");
        File imageFile = new File("image.jpg");

        HttpEntity entity = MultipartEntityBuilder.create()
                .addBinaryBody("image", imageFile)
                .build();

        httpPost.setEntity(entity);

        HttpResponse response = httpClient.execute(httpPost);
        HttpEntity responseEntity = response.getEntity();
        String responseString = EntityUtils.toString(responseEntity);

        System.out.println("Response: " + responseString);

        httpClient.close();
    }
}


Вы можете настроить URL для загрузки изображений и добавить другие параметры в запрос в зависимости от ваших потребностей.

Пользователь

от rudolph_senger , год назад

@linnea 

Ознакомьтесь с кодом ниже, который использует JSoup для загрузки изображений на сайт:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import java.io.File;
import java.io.IOException;

public class ImageUploadExample {
    public static void main(String[] args) throws IOException {
        String url = "https://example.com/upload";

        File imageFile = new File("image.jpg");

        Connection.Response response = Jsoup.connect(url)
                .data("image", imageFile.getName(), imageFile)
                .method(Connection.Method.POST)
                .execute();

        Document document = response.parse();
        System.out.println("Response: " + document.body().text());
    }
}


Обратите внимание, что вам нужно будет заменить https://example.com/upload на фактический URL, на который вы хотите загрузить изображение, а также указать путь к файлу изображения (здесь предполагается, что файл называется image.jpg и находится в той же директории, что и ваш класс Java).