django - 从swift上传照片到django api

标签 django swift image-uploading

我想从 iDevice 上传图像到网络服务器。我使用 Django API。 照片没有上传,请问我的代码哪里错了

谢谢你的帮助

var data :NSData = UIImageJPEGRepresentation( image!, 100.0)
let boundary = "Boundary-\(NSUUID.alloc().UUIDString)"
    var session = NSURLSession.sharedSession()
    let url = NSURL(string: APIURLs.uploadWorkerImage.stringByAppendingString(workerId))
    let request = NSMutableURLRequest(URL: url!)
    request.HTTPMethod = "PATCH"
    request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

    let body = NSMutableData()


    let filename = "fileName.jpeg"
    let mimetype = "image/jpeg"

    body.appendData(NSString(string: "--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
    body.appendData(NSString(string: "Content-Disposition: form-data; name=\"photo\"; filename=\"\(filename)\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
    body.appendData(NSString(string: "Content-Type: \(mimetype)\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
    body.appendData(data)
    body.appendData(NSString(string: "\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)

    body.appendData(NSString(string: "--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)

    request.HTTPBody = body

    let downloadTask = session?.downloadTaskWithRequest(request)
    downloadTask?.resume()

编辑

如果我使用这个命令照片上传成功

curl -H  -X PATCH --form "photo=@static/images/close.png" http://apiurl

最佳答案

您使用了错误的类型。 NSURLSessionDownloadTask 是下载东西。你需要使用 NSURLSessionUploadTask

关于django - 从swift上传照片到django api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28093001/

相关文章:

javascript - 获取要上传的图像并在 div 中显示

java - 在 JSP 中显示上传的图像

django - Nginx 502 网关错误 - gcp

ios - 从共享扩展中检索 imageURL

python - 禁用或限制/o/应用程序(django rest framework,oauth2)

ios - 在 PFUser 注册后创建一个 PFObject 和 PFRelation

swift - 快速更改选择器的字体及其大小

java - Servlet 中的安全图像上传

django - 模拟twilio rest客户端进行测试

python - 单元测试时未找到 Django Reverse