swift 上传图片和参数 upload image with params
发布时间:2020-12-14 07:06:43 所属栏目:百科 来源:网络整理
导读:let docDir:AnyObject = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0]let imagePath = docDir + "/myPic.jpg"var imageData = NSData(contentsOfFile: imagePath,options: NSDataReadingOptions.DataReadingMappedIfSa
Alamofire.upload(urlRequest.0,urlRequest.1) .progress { (bytesWritten,totalBytesWritten,totalBytesExpectedToWrite) in println("(totalBytesWritten) / (totalBytesExpectedToWrite)") } } func urlRequestWithComponents(urlString:String,parameters:NSDictionary) -> (URLRequestConvertible,NSData) { // create url request to send var mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlString)!) mutableURLRequest.HTTPMethod = Alamofire.Method.POST.rawValue //let boundaryConstant = "myRandomBoundary12345" let boundaryConstant = "NET-POST-boundary-(arc4random())-(arc4random())" let contentType = "multipart/form-data;boundary="+boundaryConstant mutableURLRequest.setValue(contentType,forHTTPHeaderField: "Content-Type") // create upload data to send let uploadData = NSMutableData() // add parameters for (key,value) in parameters { uploadData.appendData("rn--(boundaryConstant)rn".dataUsingEncoding(NSUTF8StringEncoding)!) if value is NetData { // add image var postData = value as NetData //uploadData.appendData("Content-Disposition: form-data; name="(key)"; filename="(postData.filename)"rn".dataUsingEncoding(NSUTF8StringEncoding)!) // append content disposition var filenameClause = " filename="(postData.filename)"" let contentDispositionString = "Content-Disposition: form-data; name="(key)";(filenameClause)rn" let contentDispositionData = contentDispositionString.dataUsingEncoding(NSUTF8StringEncoding) uploadData.appendData(contentDispositionData!) // append content type //uploadData.appendData("Content-Type: image/pngrnrn".dataUsingEncoding(NSUTF8StringEncoding)!) // mark this. let contentTypeString = "Content-Type: (postData.mimeType.getString())rnrn" let contentTypeData = contentTypeString.dataUsingEncoding(NSUTF8StringEncoding) uploadData.appendData(contentTypeData!) uploadData.appendData(postData.data) }else{ uploadData.appendData("Content-Disposition: form-data; name="(key)"rnrn(value)".dataUsingEncoding(NSUTF8StringEncoding)!) } } uploadData.appendData("rn--(boundaryConstant)--rn".dataUsingEncoding(NSUTF8StringEncoding)!) // return URLRequestConvertible and NSData return (Alamofire.ParameterEncoding.URL.encode(mutableURLRequest,parameters: nil).0,uploadData) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |