preciso baixar imagens de alguns links obtidos em consultas porem algumas imagens tem esse tipo de link -> https://cdn-cosmos.bluesoft.com.br/products/7898462303899
qual método uso pra baixar esse tipo de imagem que não tem extensão?
preciso baixar imagens de alguns links obtidos em consultas porem algumas imagens tem esse tipo de link -> https://cdn-cosmos.bluesoft.com.br/products/7898462303899
qual método uso pra baixar esse tipo de imagem que não tem extensão?
Eu faço assim
//ler e mostrar a img direto da url
private String getProfileImage(String url) throws IOException {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
try (Response response = client.newCall(request).execute()) {
InputStream inputStream = response.body().byteStream();
BufferedImage image = null;
try {
image = ImageIO.read(inputStream);
ImageIcon i = new ImageIcon(new ImageIcon(image).getImage().getScaledInstance(profileimage_lbl.getWidth(), profileimage_lbl.getHeight(), Image.SCALE_DEFAULT));
profileimage_lbl.setIcon(new ImageIcon(RoundImage.getRoundImage(i.getImage(), 190)));
} catch (IOException e) {
System.out.println("read error: " + e.getMessage());
}
return response.body().string();
}
}
//baixar a img
public void downloadFileSync(String downloadUrl) throws Exception {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(downloadUrl).build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) {
throw new IOException("Failed to download file: " + response);
}
FileOutputStream fos = new FileOutputStream("c:\\pasta\\foto.png");
fos.write(response.body().bytes());
fos.close();
}
Você pode descobrir o formato da imagem assim:
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class VerificarFormato {
public static void main(String[] args) throws Exception {
URL url = new URL("https://cdn-cosmos.bluesoft.com.br/products/7898462303899");
URLConnection connection = url.openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
ImageInputStream imageInputStream = ImageIO.createImageInputStream(connection.getInputStream());
Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(imageInputStream);
while (imageReaders.hasNext()) {
ImageReader reader = imageReaders.next();
System.out.printf("formato: %s%n", reader.getFormatName());
}
}
}
agora q li o titulo da pergunta kkkkkkk
Obg senhores vou tentar usar esses métodos e ver se tenho progresso :3