gpt4 book ai didi

Android 相当于 UIImageJPEGRepresentation?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:41 27 4
gpt4 key购买 nike

我正在移植到 Android 的 iOS 应用程序中有一个照片上传图像小部件。数据以 multipart/form-data 格式作为 HTTP POST 发送。我需要在 Android 中复制它,但遇到了一些问题。

现有的 iOS 代码 fragment :

if ([[dictionary objectForKey:key] isKindOfClass:[UIImage class]]) {
NSData *imageJPEG = UIImageJPEGRepresentation([dictionary objectForKey:key], 1);
NSString *filename = [NSString stringWithFormat:@"%@.jpg", key];
[(ASIFormDataRequest *)request setData:imageJPEG withFileName:filename andContentType:@"image/jpeg" forKey:key];
}

在 Android 上,我正在尝试:

Bitmap fullImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
fullImage.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);

然而,对于两个平台上的同一张图片,生成的字符串是不同的,结果是 Android 图片在上传后没有在服务器端呈现。

将图像转换为包含 jpeg 编码图像的字节数组的 UIImageJPEGRepresentation 的 Android/Java 等效项是什么?

最佳答案

确保将 Content-Encoding HTTP header 设置为 base64,以便服务器知道将 base 64 正确解码回有效的 jpg。

关于Android 相当于 UIImageJPEGRepresentation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23160017/

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