SWift 利用post上传多张图片

    以下是swift 上传4张图片到服务器上,服务器只能成功收到第一张。服务器后台采用的是Request.files来处理的。Request.files[0]是有数据,Request.files[1]等没有数据。
    请大虾帮帮看看以下代码(swift + xcode 7.1)是否正确。{现在穷,分数不多。}
        
func upload(img:[UIImage])
        
    {
        let context = mytext.text
        let names : String = self.title! as String
        lb.frame=CGRectMake(0,250, self.view.bounds.size.width,20)        
        lb.textColor=UIColor.whiteColor()
        lb.text="上传中...."        
        lb.textAlignment=NSTextAlignment.Center
        
        lb.backgroundColor=UIColor.blackColor()
        
        lb.alpha=1        
        av.frame=CGRectMake(100,280,20, 20)
        
        av.backgroundColor=UIColor.whiteColor()
        
        av.color=UIColor.redColor()
        
        av.startAnimating()
         self.view.addSubview(av)
         self.view.addSubview(lb)
         let data1=UIImagePNGRepresentation(img[0])//把图片转成data
         var data2 = data1
         var data3 = data1
         var data4 = data1
       if (self.imgs >= 2) {
           data2=UIImagePNGRepresentation(img[1])//把图片转成data
        }
        if (self.imgs >= 3) {
           data3=UIImagePNGRepresentation(img[2])//把图片转成data
        }
        if (self.imgs >= 4) {
           data4=UIImagePNGRepresentation(img[3])//把图片转成data
        }
      
          let uploadurl:String="http://192.168.2.66:81/uploadpic.aspx?id="+names+"&context="+context//设置服务器接收地址
        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()
        //传第1张图片
        body.appendData(NSString(format:"\r\n--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Disposition:form-data;name=\"userfile1\";filename=\"dd1.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(data1!)
        body.appendData(NSString(format:"\r\n--\(boundary)--\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        //传第2张图片
        if (self.imgs >= 2) {
        //let data2=UIImagePNGRepresentation(img[1])//把图片转成data
        body.appendData(NSString(format:"\r\n--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Disposition:form-data;name=\"userfile2\";filename=\"dd2.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(data2!)
        body.appendData(NSString(format:"\r\n--\(boundary)--\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        }
        if (self.imgs >= 3) {
      //  let    data3=UIImagePNGRepresentation(img[2])//把图片转成data
        //传第3张图片
        body.appendData(NSString(format:"\r\n--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Disposition:form-data;name=\"userfile3\";filename=\"dd3.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(data3!)
        body.appendData(NSString(format:"\r\n--\(boundary)--\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        }
        if (self.imgs >= 4) {
       //  let data4=UIImagePNGRepresentation(img[3])//把图片转成data
        //传第4张图片
        body.appendData(NSString(format:"\r\n--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Disposition:form-data;name=\"userfile4\";filename=\"dd4.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Type:application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(data4!)
        body.appendData(NSString(format:"\r\n--\(boundary)--\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        }
        
        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                
                let tr:String=NSString(data:data!,encoding:NSUTF8StringEncoding)! as String                
                print(tr)                       
                
                dispatch_sync(dispatch_get_main_queue(), {
                    
                    self.av.stopAnimating()
                    
                    self.lb.hidden=true
                    
                    
                    
                })
                
                
                
            }
            
        })       
        
    }

  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值