1、注冊
//MARK:注冊騰訊雲存儲 func registCosSave() { let config = QCloudServiceConfiguration.init() config.signatureProvider = self config.appID = "130*****18" let endpoint = QCloudCOSXMLEndPoint.init() endpoint.regionName = "ap-shanghai" endpoint.useHTTPS = true config.endpoint = endpoint QCloudCOSXMLService.registerDefaultCOSXML(with: config) QCloudCOSTransferMangerService.registerDefaultCOSTransferManger(with: config) }
2、生成簽名
func signature(with fileds: QCloudSignatureFields!, request: QCloudBizHTTPRequest!, urlRequest urlRequst: NSMutableURLRequest!, compelete continueBlock: QCloudHTTPAuthentationContinueBlock!) { let cre = QCloudCredential.init() cre.secretID = "AKIDW**********************tkOlnnRp" cre.secretKey = "f5F9K*******************ARVKz" let auth = QCloudAuthentationV5Creator.init(credential: cre) let signature = auth?.signature(forData: urlRequst) continueBlock(signature,nil) }
3、使用
let uploadRequest = QCloudCOSXMLUploadObjectRequest<AnyObject>.init() if let dataBody = image.resized(toWidth: 828)!.pngData() { uploadRequest.body = dataBody as NSData uploadRequest.bucket = "oops-1********8" uploadRequest.object = "\(Int64(Date.init().timeIntervalSince1970 * 1000))" + self.targetId! uploadRequest.sendProcessBlock = {(bytesSent , totalBytesSent , totalBytesExpectedToSend) in print(bytesSent) print(totalBytesSent) print(totalBytesExpectedToSend) } uploadRequest.setFinish { (result, error) in if error == nil{ print("kiminotachi") print(result) print(imageName) }else{ //從 result 中獲取請求的結果 print(error); }} QCloudCOSTransferMangerService.defaultCOSTransferManager().uploadObject(uploadRequest);
能用七牛雲的話,不建議用騰訊雲,掉圖有點嚴重,筆者也是無奈,只好更換成七牛雲,,現在寫這個,是為了記錄,都是即將被清理的代碼了。
七牛雲請參考另外一篇隨筆:https://www.cnblogs.com/xjf125/p/12329167.html