如何使用SWIFT将图像从iPhone上传到Google App Engine blobstore?

时间:2015-05-27 12:42:40

标签: ios swift

我正在尝试将.jpeg扩展名的图像文件上传到GAE,即在python中运行,但问题是我应该发送文件数据,但我无法做到这一点。请帮忙解决这个问题。

我的代码是

    body.appendData(("--" + boundary + "\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                    body.appendData(("Content-Disposition: form-data; name=" + key + "\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                    body.appendData(("Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                    var imageData = UIImageJPEGRepresentation(image, 1.0)
                    body.appendData(NSData(data: imageData))
                    body.appendData(("\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)

3 个答案:

答案 0 :(得分:0)

在这里查看NSURLSession

答案 1 :(得分:0)

尝试将内容类型从八位字节流更改为图像jpeg

body.appendData("Content-Type: image/jpeg\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)

答案 2 :(得分:0)

尝试将文件名参数添加到Content-Disposition

    body.appendData(("--" + boundary + "\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                body.appendData(("Content-Disposition: form-data; name=" + key + "; filename=\"image.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                body.appendData(("Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
                var imageData = UIImageJPEGRepresentation(image, 1.0)
                body.appendData(NSData(data: imageData))
                body.appendData(("\r\n").dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)