jeudi 13 août 2015

URL Request fatal error: unexpectedly found nil while unwrapping an Optional value

   func upload(URL: String, headers: NSDictionary, print: Upload, completion: (result: String) -> Void) {
    // init paramters Dictionary
    let videoData = NSData(contentsOfURL: NSURL(fileURLWithPath: URL)!)

    var videoParameters: Dictionary<String, AnyObject> = [
        "md5": toString(toString(videoData).md5())
    ]

    // add addtionial parameters


    // example image data
    //let image = UIImage(named: "177143.jpg")
    //  let imageData = NSData(contentsOfURL: NSURL(fileURLWithPath: URL)!)



    // CREATE AND SEND REQUEST ----------

    let urlRequest = urlRequestWithComponents("API-VERSION", parameters: videoParameters, imageData: videoData!)

    Alamofire.upload(urlRequest.0, urlRequest.1)
        .progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
            println("\(totalBytesWritten) / \(totalBytesExpectedToWrite)")
        }
        .responseJSON { (request, response, JSON, error) in
            println(response?.statusCode)
            if(response?.statusCode == 201){

..... }

func urlRequestWithComponents(urlString:String, parameters:Dictionary<String, AnyObject!>, imageData:NSData) -> (URLRequestConvertible, NSData) {

    // create url request to send
    var mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlString)!)
    mutableURLRequest.HTTPMethod = Alamofire.Method.POST.rawValue
    let boundaryConstant = "LiamNeason";

    let contentType = "multipart/form-data;boundary=LiamNeason"
    mutableURLRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")
    mutableURLRequest.setValue("3", forHTTPHeaderField: "Version")
    mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Accept")


    // create upload data to send
    let uploadData = NSMutableData()

    // add image
    uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
    uploadData.appendData("Content-Disposition: form-data; name=\"file\"; filename=\"file.mp4\"\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
    uploadData.appendData("Content-Type: */*\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
    uploadData.appendData(imageData)

    // add parameters
    for (key, value) in parameters {
        uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n\(value)".dataUsingEncoding(NSUTF8StringEncoding)!)
    }
    uploadData.appendData("\r\n--\(boundaryConstant)--\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)



    // return URLRequestConvertible and NSData
    return (Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: nil).0, uploadData)
}

fatal error: unexpectedly found nil while unwrapping an Optional value

On line

let urlRequest = urlRequestWithComponents("API-VERSION", parameters: videoParameters, imageData: videoData!)

I've tried unwrapping it as ? instead of ! - Creating the variable first

None of the data is nil...

Heading ##



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire