【发布时间】:2015-02-06 16:46:46
【问题描述】:
我正在尝试使用 swift 在我的本地 PHP 服务器上发送图像 我不明白为什么我有一条错误消息(致命错误:在展开 Optional 值时意外发现 nil)
这是我的代码:
var image = info[UIImagePickerControllerOriginalImage] as UIImage
var imageData = UIImageJPEGRepresentation(image, 90)
var request = NSMutableURLRequest(URL: NSURL(string:"http://http:192.168.1.73:8888/upload.php")!)
var session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
var boundary = NSString(format: "---------------------------14737809831466499882746641449")
var contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
request.addValue(contentType, forHTTPHeaderField: "Content-Type")
var body = NSMutableData.alloc()
// Image
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"htdocs\"; filename=\".jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(imageData)
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
request.HTTPBody = body
var returnData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
println(returnData)
var returnString = NSString(data: returnData!, encoding: NSUTF8StringEncoding)
println("returnString \(returnString)")
【问题讨论】:
-
"http://http:192.168.1.73:8888/upload.php"是无效的 URL... -
不,当我用浏览器尝试时,它说没问题。