如何通过使用Swift传递URL中的参数来上传图像?

时间:2016-04-23 13:10:12

标签: swift image-uploading nsurlsession nsurl

我正在尝试通过传递URL中的参数来上传图片。但我将响应设为“在此服务器上找不到请求的网址”。

func uploadImage()
   {
     let imagedata = UIImageJPEGRepresentation(myImageView.image!, 1)
     if(imagedata == nil ) { return }
     self.upLoadButton.enabled = false
     let parameter = ["**":"**"]
     let url = "***URL***"
     let uploadScriptUrl = NSURL(fileURLWithPath: "\(url)\(parameter)")
     let request = NSMutableURLRequest(URL: uploadScriptUrl)
     request.setValue("Keep-Alive",forHTTPHeaderField: "connection")

     let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
     let session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: NSOperationQueue.mainQueue())

     let task = session.uploadTaskWithRequest(request, fromData: imagedata!)
     task.resume()
   }

是否有上传图片的程序?如果是,请帮我恢复我的问题。

1 个答案:

答案 0 :(得分:0)

这是我看错的快速列表:

  • 您正在向机构发送GET请求。您需要覆盖请求类型以发送POST请求。
  • 您需要在请求对象上指定Content-Type标头。
  • 您需要服务器上的实际软件知道如何获取文件并将其存储在某处。
  • 您的请求网址必须是服务器上该软件的网址,不是本地文件网址。
  • 如果您已经有这样的脚本,那么您使用了错误的方法来创建URL。您应该使用[NSURL URLWithString:@"http://..." relativeToURL: nil]