【问题标题】:NSData bytes difference and java bytes differenceNSData字节差异和java字节差异
【发布时间】:2018-05-24 07:57:23
【问题描述】:

我需要将 .jpeg 文件发送到服务器,然后将 .jpeg 转换为 NSData,如 imagebytesss = UIImageJPEGRepresentation(anotherimg, 0.75);,但在 android 中,它发送直接从流中获取的普通字节,但它的字节字符与 iOS(NSData) 不同.

有谁知道 NSData 字节和 Android 之间的区别,或者如何将我的 .jpeg 转换为 iOS 中的 java 之类的字节。

谢谢,

【问题讨论】:

  • 如果您想将 jpg 文件发送到服务器,则将文件发送到服务器。你为什么要转换成一些 NSData?为了什么?如果您的 Android 代码只是发送文件的字节,这与 Android 无关。不清楚你在做什么或你想要什么。
  • 实际上,Android 将 jpg 转换为不带任何编码的字节,但在 iOS 中,当我将 .jpg 转换为带有 NSData 的字节时,它会出现不同的字符,不确定 NSData 是否使用编码。有什么方法可以在 iOS 中转换 .jpg 而无需编码?
  • 你没有说明为什么要使用 NSData 开始。
  • 我需要在 iOS 中使用 NSData 将 .jpg 转换为字节,以便向服务器发出 post 请求。
  • Android convert jpg to bytes without any encoding ???奇怪的措辞。 Android只会上传我认为你的意思的文件的字节。

标签: android ios nsdata bytecode


【解决方案1】:

UIImageJPEGRepresentation 对具有指定压缩质量的图像进行编码,但据我了解,您希望原封不动地上传二进制图像数据。

要实现这一点,您可以创建一个带有本地 URL 的 NSData 对象,如下所示:

let data = try? Data(contentsOf: url)

Swift 4 示例,主包中有一个名为“coffee.jpg”的本地 JPG 文件:

if let url = Bundle.main.url(forResource: "coffee", withExtension:"jpg") {
    if let data = try? Data(contentsOf: url) {
        //upload it
    }
}

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 2020-10-16
    • 2013-04-12
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多