swift - 将 [UInt8] 作为数据附加到 alamofire

标签 swift http byte alamofire

我正在尝试使用 alamofire 将一些字节上传到服务器,我的代码如下:

let parameters: Parameters = ["data": data]
let headers: HTTPHeaders = ["Content-Type": "application/vnd.awallet-signed-orders-v0"]

    Alamofire.request(query, method: .put,
                      parameters: parameters,
                      encoding: JSONEncoding.default,
                      headers: headers).responseJSON { response in
        print("Request: \(String(describing: response.request))")   // original url request
        print("Response: \(String(describing: response.response))") // http url response
        print("Result: \(response.result)") // response serialization result

        if let json = response.result.value {
            let parsedJSON = try! JSON(parseJSON: (json as! String))
            callback(parsedJSON["orders"]["accepted"])
        }

        if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
            print("Data: \(utf8Text)") // original server data as UTF8 string
        }
    }
}

数据是[UInt8],但是这样做会使alamofire将字节转换为字符串,如果数组是[0,0],它就会变成“0,0”,这不是我想要的,因为我想要它直接上传字节。

有没有办法在 alamofire 中做到这一点?

注意:我不想将其转换为十六进制字符串,因为这效率不高

最佳答案

解决了,只需要使用上传方法,将字节转换为数据即可

var hexMessageData = signedOrders[0].message

let headers: HTTPHeaders = ["Content-Type": "application/vnd.awallet-signed-orders-v0"]

Alamofire.upload(Data(bytes: hexMessageData), to: query, method: .put, headers: headers).response { response in
   if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
            print("Data: \(utf8Text)") // original server data as UTF8 string
            callback(data.hexEncoded)
        }
    }

关于swift - 将 [UInt8] 作为数据附加到 alamofire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49400294/

相关文章:

javascript - (node.js) 定义不带express的子域

PHP 默认内容类型?

java - 如何将字符串转换为字节并返回

ios - View Controller 加载了两次

ios - 执行从一个列表到另一个列表的 Realm 迁移

ios - 如何在斜杠之间获取字符串 -Swift

sockets - HTTP 多部分/表单数据。当二进制数据没有字符串表示时会发生什么?

c++ - 将 size_t 转换为 vector<unsigned char>

java - 将 PDF 转换为字节数组,反之亦然

ios - 应用内购买 swift