Files
peko-ios/docs/ImageUpload_API_Swift.md

1.7 KiB
Raw Blame History

图片上传接口Swift 封装,腾讯云 COS

1. 参数模型

struct ImageUploadRequest {
    let image: UIImage
    let fileName: String // 如 "image/xxxx.jpg"
}

2. 接口调用方法

class ImageUploader {
    static func uploadImage(
        request: ImageUploadRequest,
        completion: @escaping (Result<String, Error>) -> Void
    ) {
        // 1. 压缩图片,生成 NSData
        // 2. 调用腾讯云 COS SDK 上传
        // 3. 返回图片 URL
    }
}

3. 示例用法

let image = UIImage(named: "test.jpg")!
let request = ImageUploadRequest(image: image, fileName: "image/\(UUID().uuidString).jpg")
ImageUploader.uploadImage(request: request) { result in
    switch result {
    case .success(let url):
        print("上传成功,图片地址:\(url)")
    case .failure(let error):
        print("上传失败: \(error.localizedDescription)")
    }
}

4. 第三方依赖

5. 配置说明

  • COS 配置信息appId、region、bucket、签名等需通过接口动态获取并初始化 SDK。
  • 上传时需指定 bucket、object文件名、bodyNSData
  • 支持自定义域名、加速域名等高级配置。

6. 错误处理建议

  • 网络异常、图片压缩失败、SDK 上传失败等需统一处理。
  • 建议统一封装 UploadError 类型。

7. 扩展建议

  • 支持多图批量上传
  • 支持上传进度回调
  • 支持 async/await
  • 可结合项目网络层统一封装