使用Alamofire上传图像时,“UTF-8中的无效字节序列”

时间:2014-12-04 17:12:18

标签: ios swift alamofire

我可以毫无问题地将图片发布到rails应用程序:

 curl -v include --form image=@filename.jpg https://my_url_goes_here.com/path/to/imageupload

...但是当我尝试使用Alamofire.upload上传时,我在UTF-8'中看到了无效的字节序列。服务器上的错误,没有任何内容被保存。

'图像'是一个有效的UIImage。

    let pictureData = UIImageJPEGRepresentation(image!, 0.8)

    Alamofire.upload(.POST, "https://my_url_goes_here.com/path/to/imageupload", pictureData)
        .progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
            println(totalBytesWritten)
        }
        .responseJSON { (request, response, JSON, error) in
            println(JSON)
    }
}

Alamofire.upload应该将NSData作为参数(并且可能在尝试上传之前对其进行适当编码),因此我不确定这里出了什么问题。

1 个答案:

答案 0 :(得分:0)

FWIW,我应该更仔细地阅读Alamofire文档 - 我试图做的文件上传需要作为多部分数据,Alamofire does not yet support ...所以在这里使用AFNetworking及其内置的multipart表单上传支持工作。