gpt4 book ai didi

java - 将 Java Byte[] 转换为 VB.NET MemoryStream

转载 作者:行者123 更新时间:2023-12-02 08:23:34 25 4
gpt4 key购买 nike

我们正在开发一个 Android 应用程序 (Java),它读取图像,对字节进行 base64 编码,然后通过 HTTP(通过 GET)将它们发送到用 VB.NET 编写的 WebService。

在 .NET 方面,他们正在使用这个:

Dim Pix As Image
Pix = Image.FromFile("C:\Users\Public\Pictures\Sample Pictures\Tree.jpg")

Dim ms As New MemoryStream
Pix.Save(ms, ImageFormat.Jpeg)
Dim ImByte() As Byte = ms.GetBuffer
ms.Close()

听起来不错。

如何将正确的字符串传递给他们,以将图像从 Java 编码(无符号)正确解码为 .NET 解码(有符号)?

非常感谢尼古拉斯。

最佳答案

第一个错误:您正在使用 GetBuffer()这可能太大了。使用ToArray()相反。

在 Java 方面,只需使用任何 Base64 解码器,例如 Apache Commons Codec one 。不必担心字节的符号 - Base64 有效地使这对您来说不再是问题。

当然,这是假设 Web 服务客户端不会自动为您执行此操作...如果您的 Web 服务使用 base64“通告”字节数组,它很可能只是自动执行。

附带问题:为什么要费心将图像加载为图像?为什么不直接使用:

Dim ImByte() As Byte = File.ReadAllBytes("C:\Users\...\Tree.jpg")

关于java - 将 Java Byte[] 转换为 VB.NET MemoryStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009066/

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