gpt4 book ai didi

java - 在 Java 中以 Base64 编码来自 URL 的图像

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:58 25 4
gpt4 key购买 nike

我想使用 Base64 对 URL 图像进行编码和保存。我发现了几个从本地文件而不是从 URL 进行编码的示例。有没有可能这样做?

我试过类似的东西,但没有成功。任何线索,帮助?感谢您的回答。

    public static void main(String[] args)  {
String imageUrl = "http://www.avajava.com/images/avajavalogo.jpg";
String destinationFile = "image.jpg";

try {
// Reading a Image file from file system
URL url = new URL(imageUrl);
InputStream is = url.openStream();

FileInputStream imageInFile = new FileInputStream(is.toString());
byte imageData[] = new byte[2048];
imageInFile.read(imageData);

// Converting Image byte array into Base64 String
String imageDataString = encodeImage(imageData);
System.out.println("imageDataString : " + imageDataString);




System.out.println("Image Successfully Manipulated!");
} catch (FileNotFoundException e) {
System.out.println("Image not found" + e);
} catch (IOException ioe) {
System.out.println("Exception while reading the Image " + ioe);
}

}

/**
* Encodes the byte array into base64 string
*
* @param imageByteArray - byte array
* @return String a {@link java.lang.String}
*/
public static String encodeImage(byte[] imageByteArray) {
return Base64.encodeBase64URLSafeString(imageByteArray);
}

最佳答案

通过在参数中传递图像 url 来尝试此功能。

private String getByteArrayFromImageURL(String url) {

try {
URL imageUrl = new URL(url);
URLConnection ucon = imageUrl.openConnection();
InputStream is = ucon.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int read = 0;
while ((read = is.read(buffer, 0, buffer.length)) != -1) {
baos.write(buffer, 0, read);
}
baos.flush();
return Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
} catch (Exception e) {
Log.d("Error", e.toString());
}
return null;
}

关于java - 在 Java 中以 Base64 编码来自 URL 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24417699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com