以下是swift 上传4张图片到服务器上,服务器只能成功收到第一张。服务器后台采用的是Request.files来处理的。Request.files[0]是有数据,Request.files[1]等没有数据。
请大虾帮帮看看以下代码(swift + xcode 7.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
})
}
})
}