How to send a image to a php file using Swift

萝らか妹 提交于 2019-12-04 20:09:51
arturo
var imageData :NSData = UIImageJPEGRepresentation(imagenReduced, 1.0);       
var request: NSMutableURLRequest?
let HTTPMethod: String = "POST"
var timeoutInterval: NSTimeInterval = 60
var HTTPShouldHandleCookies: Bool = false

request = NSMutableURLRequest(URL: url)
request!.HTTPMethod = HTTPMethod
request!.timeoutInterval = timeoutInterval
request!.HTTPShouldHandleCookies = HTTPShouldHandleCookies


let boundary = "----------SwIfTeRhTtPrEqUeStBoUnDaRy"
let contentType = "multipart/form-data; boundary=\(boundary)"
request!.setValue(contentType, forHTTPHeaderField:"Content-Type")
var body = NSMutableData();


 let tempData = NSMutableData()
 let fileName = filenames + ".jpg" //"prueba.jpg"
 let parameterName = "userfile"


let mimeType = "application/octet-stream"

tempData.appendData("--\(boundary)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
let fileNameContentDisposition = fileName != nil ? "filename=\"\(fileName)\"" : ""
let contentDisposition = "Content-Disposition: form-data; name=\"\(parameterName)\"; \(fileNameContentDisposition)\r\n"
tempData.appendData(contentDisposition.dataUsingEncoding(NSUTF8StringEncoding)!)
tempData.appendData("Content-Type: \(mimeType)\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
tempData.appendData(imageData)
tempData.appendData("\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)

body.appendData(tempData)

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

request!.setValue("\(body.length)", forHTTPHeaderField: "Content-Length")
request!.HTTPBody = body



var vl_error :NSErrorPointer = nil
var responseData  = NSURLConnection.sendSynchronousRequest(request,returningResponse: nil, error:vl_error)

var results = NSString(data:responseData, encoding:NSUTF8StringEncoding)
println("finish \(results)")
//check this code 
func callToProfileUpdate()
        {

            let loadingNotification = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
            loadingNotification.mode = MBProgressHUDMode.Indeterminate
            loadingNotification.labelText = "Loading"


            var userID: AnyObject! = NSUserDefaults.standardUserDefaults().valueForKey("USER_ID")

            var urlString = NSString(string:"\(baseurl)action=update_profile&user_id=\(userID)&user_name=\(userName.text)&account_type=\(self.selectedAccountTypeLabel.text!)&show_comments=\(commentStauts)&tag_permission=\(tagPermission)")

            urlString = urlString .stringByReplacingOccurrencesOfString(" ", withString: "%20")

            var url = NSURL(string:urlString as String)

            let urlRequest = NSMutableURLRequest(URL: url!)

            if mediaData != nil
            {

                urlRequest.HTTPMethod = "POST"

                var boundary = NSString(format: "---------------------------14737809831466499882746641449")
                var contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
                urlRequest.addValue(contentType as String, 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=\"photo\"; filename=\".png\"\\.png\n").dataUsingEncoding(NSUTF8StringEncoding)!)

                body.appendData(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
                body.appendData(mediaData)
                body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)

                urlRequest.HTTPBody = body

            }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!