Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将照片从swift上传到django api_Django_Swift_Image Uploading - Fatal编程技术网

将照片从swift上传到django api

将照片从swift上传到django api,django,swift,image-uploading,Django,Swift,Image Uploading,我想将图像从iDevice上载到web服务器。我使用djangoapi。 照片没有上传,请问我的代码哪里错了 谢谢你的帮助 var data :NSData = UIImageJPEGRepresentation( image!, 100.0) let boundary = "Boundary-\(NSUUID.alloc().UUIDString)" var session = NSURLSession.sharedSession() let url = NSURL(strin

我想将图像从iDevice上载到web服务器。我使用djangoapi。 照片没有上传,请问我的代码哪里错了

谢谢你的帮助

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

问题在于图像数据

var data :NSData =   NSData(contentsOfFile: path)!
而不是

var data :NSData = UIImageJPEGRepresentation( image!, 100.0)

我希望这对任何人都有帮助

这里似乎没有任何与Django相关的东西。。。您的服务器端代码是什么样的?您遇到了哪些错误?感谢您的回复,我刚刚尝试了session.dataTaskWithRequest,但什么也没有发生!如何使用NSURLSessionPloadTask,因为它包含fromFile参数,并且我使用NSData上载图像
NSURLSession
has
uploadTaskWithRequest(u2;:fromData:completionHandler:)
方法。很抱歉,我没有得到帮助