【Swift】上传图片到腾讯云(生成token,上传)
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期