swift 使用AFNetworking 上傳多張圖片封裝

letkTimeoutInterval =10.0

///成功返回數(shù)據(jù)Block

typealiasreceiveDataCompletionBlock=(responseDict:NSDictionary)->Void

///返回數(shù)據(jù)失敗Block

typealiasfaildDataCompletionBlock=(failString:NSString)->Void

///上傳圖片進(jìn)度

typealiasuploadProgressBlock = (percent:Double,totalBytesWritten:Double,totalBytesExpectedToWrite:Double) ->Void


/**

上傳圖片

- parameter dict:參數(shù)

- parameter urlStr:url地址

- parameter images:需要上傳的圖片

- parameter successResponseDataBlock:成功返回

- parameter faildResponseDataBlock:失敗

- parameter uploadProgressDataBlock:進(jìn)度

*/

funcpostUploadsWithUrl(dict:NSDictionary,urlStr:String,images:[UIImage],successResponseDataBlock:receiveDataCompletionBlock,faildResponseDataBlock:faildDataCompletionBlock,uploadProgressDataBlock:uploadProgressBlock){

ifimages.count==0{

return

}

letmanager =AFHTTPRequestOperationManager()

manager.responseSerializer=AFHTTPResponseSerializer()

lettype ="application/json"

letsets=NSSet()

manager.responseSerializer.acceptableContentTypes=sets.setByAddingObject(type)

manager.requestSerializer.setValue(kPackage, forHTTPHeaderField:"package")

manager.requestSerializer.timeoutInterval=kTimeoutInterval

letaccess_token =XDUserDefaults.getStringForKey(kKeyAccessToken)!asString

manager.requestSerializer.setValue("Bearer\(access_token)", forHTTPHeaderField:"Authorization")

letoperation = manager.POST(urlStr, parameters: dict, constructingBodyWithBlock: { (data:AFMultipartFormData) ->Voidin

//data.appendPartWithFileData(UIImagePNGRepresentation(UIImage(named: "tiger")!)!, name: "gushi", fileName:"tiger.jpg", mimeType: "image/png/jpg/jpeg")

vari =0

//根據(jù)當(dāng)前系統(tǒng)時間生成圖片名稱

letdate =NSDate()

letformatter =NSDateFormatter()

formatter.dateFormat="YYYYMMddHHmmss"

letdateString = formatter.stringFromDate(date)

forimageinimages {

varfileName ="\(dateString)-\(i)"

//type of image

vardataOfImage:NSData

if(UIImagePNGRepresentation(image) !=nil){

dataOfImage = (UIImagePNGRepresentation(image))!

fileName +=".png"

}else{

dataOfImage =UIImageJPEGRepresentation(image,1)!

fileName +=".jpg"

}

data.appendPartWithFileData(dataOfImage, name:"photo\(i)"+fileName, fileName:fileName, mimeType:"image/png/jpg/jpeg")

i++

}

}, success: { (operation:AFHTTPRequestOperation, response:AnyObject) ->Voidin

//successResponseDataBlock(responseDict: response as! NSDictionary)

successResponseDataBlock(responseDict: ["data":"success"])

}) { (operation:AFHTTPRequestOperation?, err:NSError) ->Voidin

faildResponseDataBlock(failString: err.description)

}

operation?.setUploadProgressBlock({ (bytesWritten:UInt, totalBytesWritten:Int64, totalBytesExpectedToWritten:Int64) ->Voidin

letpercent =Double(totalBytesWritten) /Double(totalBytesExpectedToWritten)

//print("-----------------------\(totalBytesWritten)/\(totalBytesExpectedToWritten) = \(percent)")

uploadProgressDataBlock(percent: percent, totalBytesWritten:Double(totalBytesWritten), totalBytesExpectedToWrite:Double(totalBytesExpectedToWritten))

})

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容