从IOS + Swift将图像上传到Socket.io中的服务器

时间:2016-10-21 09:38:41

标签: ios swift sockets websocket socket.io

我使用socket.io Library制作聊天应用。 现在我尝试使用swift3.0从IOS应用程序上传图像到服务器

我尝试创建bytearray并将其作为字符串发送到服务器,但它返回损坏的图像。

     var byteArray = (UIImagePNGRepresentation(image)?.base64EncodedString(options: .lineLength64Characters))! as String

    let base64encoding = imageData.base64EncodedString()

    let string = (String (format: "{\"text\":\"\",\"chatId\":\"%@\",\"identifier\":1476869117744,\"sessionId\":\"1476869062088\",\"attachments\":[{\"type\":\"IMAGE\",\"data\":{\"size\": \"%@\", \"name\": \"%@\", \"modifiedOn\": \"2016-12-12\", \"file\":\"%@\" }}]}","122","1233.22","photo.jpg",base64encoding))

有没有人知道如何使用IOS中的socket.io将图像上传到服务器。

1 个答案:

答案 0 :(得分:1)

这是我创建的将图像发布到服务器的方法。希望这对您有所帮助。

func main() {

        var output StructName


err := json.Unmarshal([]byte(jsonBytes), &output)
    if err != nil {
        print(err)
    }
    for _, value := range output.Outputs {
        for _, val := range value.Data.Concepts {
            fmt.Printf("AppId:%s\nID:%s\nname:%s\nvalue:%f", val.AppID, val.ID, val.Name, val.Value)
        }
    }
}

type StructName struct {
    Outputs []struct {
        Data struct {
            Concepts []struct {
                AppID string  `json:"app_id"`
                ID    string  `json:"id"`
                Name  string  `json:"name"`
                Value float64 `json:"value"`
            } `json:"concepts"`
        } `json:"data"`
    } `json:"outputs"`
    Status struct {
        Code        int    `json:"code"`
        Description string `json:"description"`
    } `json:"status"`
}