swift post表单上传图片和数据
来源:互联网 发布:天津基础教研网络 编辑:程序博客网 时间:2024/06/07 02:31
首先需要声明一个ImagePIck的控制器
var imagePicker = UIImagePickerController()然后当前控制器需要实现代理:UIImagePickerControllerDelegate,UINavigationControllerDelegate
func showpic() { imagePicker.delegate=self imagePicker.sourceType=UIImagePickerControllerSourceType.PhotoLibrary imagePicker.modalTransitionStyle=UIModalTransitionStyle.CoverVertical imagePicker.allowsEditing=true self.presentViewController(imagePicker, animated:true, completion: nil) } //UIImagePickerControllerDelegate 代理 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { self.dismissViewControllerAnimated(true, completion:nil); let gotImage=info[UIImagePickerControllerOriginalImage] as! UIImage let midImage:UIImage=self.imageWithImageSimple(gotImage,scaledToSize:CGSizeMake(1000.0,1000.0))//这是对图片进行缩放,因为固定了长宽,所以这个方法会变型,有需要的自已去完善吧, 这里只是粗略使用。 upload(midImage)//上传 } //缩放图片 func imageWithImageSimple(image:UIImage,scaledToSize newSize:CGSize)->UIImage { UIGraphicsBeginImageContext(newSize); image.drawInRect(CGRectMake(0,0,newSize.width,newSize.height)) let newImage:UIImage=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } //上传 func upload(img:UIImage) { let data=UIImagePNGRepresentation(img)//把图片转成data let uploadurl:String="http://59.78.93.208:9097/AlertPicture"//设置服务器接收地址 let request=NSMutableURLRequest(URL:NSURL(string:uploadurl)!) request.HTTPMethod="POST"//设置请求方式 let boundary:String="-------------------21212222222222222222222" let contentType:String="multipart/form-data;boundary="+boundary request.addValue(contentType, forHTTPHeaderField:"Content-Type") let body=NSMutableData() //在表单中插入要上传的数据 body.appendData(NSString(format: "--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!); body.appendData(NSString(format: "Content-Disposition:form-data;name=\"userid\"\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!) body.appendData("\("123")\r\n".dataUsingEncoding(NSUTF8StringEncoding)!) //在表单中写入要上传的图片 body.appendData(NSString(format:"--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!) body.appendData(NSString(format:"Content-Disposition:form-data;name=\"image\";filename=\"dd.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!) //body.appendData(NSString(format:"Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!) body.appendData("Content-Type:image/png\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!) body.appendData(data!) body.appendData(NSString(format:"\r\n--\(boundary)--\r\n").dataUsingEncoding(NSUTF8StringEncoding)!) //设置post的请求体 request.HTTPBody=body let que=NSOperationQueue() NSURLConnection.sendAsynchronousRequest(request, queue: que, completionHandler: { (response, data, error) ->Void in if (error != nil){ print(error) }else{ //Handle data in NSData type var tr:String=NSString(data:data!,encoding:NSUTF8StringEncoding)! as String print(tr) } }) }
0 0
- swift post表单上传图片和数据
- post上传表单图片
- android以post方式实现上传图片和表单
- SWift 利用post上传多张图片
- Post同时上传多张图片和数据实例
- Android通过Post上传数据和图片到Servlet
- 表单上传get和post的区别
- AFNetworking(get)请求数据,(post)上传图片
- AFNetworking(get)请求数据,(post)上传图片
- AFNetworking(get)请求数据,(post)上传图片
- java模拟post方式提交表单实现图片上传
- java模拟post方式提交表单实现图片上传
- 使用FormData表单数据对象提交表单及上传图片
- PHP使用CURL向服务器POST文本数据和上传图片的代码示例
- axios发送post请求,提交图片类型表单数据
- 使用libcurl POST数据和上传文件
- 使用libcurl POST数据和上传文件
- 使用libcurl POST数据和上传文件
- MyEclipse10安装SVN插件
- Nagle算法
- iOS设计模式(二) 简单工厂,工厂,抽象工厂
- VMware Workstation学习之路——网络设置——桥接连接方式
- rockmongo
- swift post表单上传图片和数据
- java 并发
- Android异常崩溃Crash重启方案
- 简单一招破解网站内容不能复制+图片不能右击(naver blog有效)
- qt creator开发arm linux
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 利用python3的urllib.request抓取网页内容并显示中文
- android 系统架构及详解
- So, You Want A FullScreen Browser, Huh?