|
@@ -27,7 +27,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
public var allTasks: [String: OSSMultipartUploadRequest] = [:] // add by ak 保存当前所有任务 用于取消某个任务使用
|
|
|
public func startClient(accessKeyId: String, secretKeyId: String, securityToken: String, endpoint: String) -> PQAliOssUtil {
|
|
|
if endpoint.count == 0 {
|
|
|
- BFLog(message: "endpoint is nil xxxxxx \(endpoint)")
|
|
|
+ debugPrint("endpoint is nil xxxxxx \(endpoint)")
|
|
|
}
|
|
|
|
|
|
let credential = OSSStsTokenCredentialProvider(accessKeyId: accessKeyId, secretKeyId: secretKeyId, securityToken: securityToken)
|
|
@@ -51,7 +51,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
putRequest.objectKey = objectKey
|
|
|
putRequest.uploadingData = data
|
|
|
putRequest.uploadProgress = { [weak self] _, totalByteSent, totalBytesExpectedToSend in
|
|
|
- BFLog(message: "文件上传进度:totalByteSent = \(totalByteSent),totalBytesExpectedToSend = \(totalBytesExpectedToSend)")
|
|
|
+ debugPrint("文件上传进度:totalByteSent = \(totalByteSent),totalBytesExpectedToSend = \(totalBytesExpectedToSend)")
|
|
|
if totalBytesExpectedToSend > 0, totalByteSent == totalBytesExpectedToSend {
|
|
|
if isMatarialUpload, self?.aliOssHander != nil {
|
|
|
self?.aliOssHander!(isMatarialUpload, materialType, fileExtensions, 1, objectKey, contentMD5, width, height, 0, 0, nil, nil, data, "上传成功")
|
|
@@ -66,14 +66,14 @@ public class PQAliOssUtil: NSObject {
|
|
|
putTask.continue(successBlock: { [weak self] (osstask) -> Any? in
|
|
|
if osstask.error == nil {
|
|
|
let task = self?.client?.presignPublicURL(withBucketName: putRequest.bucketName, withObjectKey: putRequest.objectKey)
|
|
|
- BFLog(message: "图片原方法上传完成=\(objectKey)")
|
|
|
- BFLog(message: "url == \(task?.result ?? "" as AnyObject)")
|
|
|
+ debugPrint("图片原方法上传完成=\(objectKey)")
|
|
|
+ debugPrint("url == \(task?.result ?? "" as AnyObject)")
|
|
|
imageUploadBlock(osstask, 1, objectKey, fileExtensions)
|
|
|
} else {
|
|
|
if self?.aliOssHander != nil {
|
|
|
self?.aliOssHander!(isMatarialUpload, materialType, fileExtensions, 0, objectKey, contentMD5, width, height, 0, 0, nil, nil, data, "上传失败")
|
|
|
}
|
|
|
- BFLog(message: "图片原方法上传失败=\(objectKey),osstask.error = \(osstask.error ?? PQError(msg: "失败"))")
|
|
|
+ debugPrint("图片原方法上传失败=\(objectKey),osstask.error = \(osstask.error ?? PQError(msg: "失败"))")
|
|
|
imageUploadBlock(osstask, 0, objectKey, fileExtensions)
|
|
|
}
|
|
|
|
|
@@ -126,7 +126,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
endpoints = response?["Hosts"] as! [String]
|
|
|
endpoints.append(endpoint)
|
|
|
}
|
|
|
- BFLog(message: "取我方服务器STS 返回数据 \(String(describing: response))")
|
|
|
+ debugPrint("取我方服务器STS 返回数据 \(String(describing: response))")
|
|
|
PQAliOssUtil.shared.PQOSSMultipartUpload(accessKeyId: accessKeyId, secretKeyId: secretKeyId, securityToken: securityToken, bucketName: bucketName, endpoints: endpoints, FileName: FileName, fileURL: URL(fileURLWithPath: (localPath ?? "").replacingOccurrences(of: "file:///", with: "")), ossUploadID: uploadID)
|
|
|
}
|
|
|
|
|
@@ -148,9 +148,9 @@ public class PQAliOssUtil: NSObject {
|
|
|
/// - height: 视频高 isMatarialUpload = true时传
|
|
|
/// - Returns: <#description#>
|
|
|
public func PQOSSMultipartUpload(accessKeyId: String, secretKeyId: String, securityToken: String, bucketName: String, endpoints: [String], FileName: String, fileURL: URL, ossUploadID: String, materialType: StickerType = .VIDEO, isMatarialUpload: Bool = false, contentMD5: String = "", width: CGFloat = 0, height: CGFloat = 0) -> PQAliOssUtil {
|
|
|
- BFLog(message: "上传数据 参数\n accessKeyId:\(accessKeyId)\n secretKeyId:\(secretKeyId)\n securityToken:\(securityToken) \n bucketName:\(bucketName)\n endpoint:\(endpoints)\n FileName:\(FileName)")
|
|
|
+ debugPrint("上传数据 参数\n accessKeyId:\(accessKeyId)\n secretKeyId:\(secretKeyId)\n securityToken:\(securityToken) \n bucketName:\(bucketName)\n endpoint:\(endpoints)\n FileName:\(FileName)")
|
|
|
if endpoints.count <= 0 || (endpoints.first?.count ?? 0) <= 0 {
|
|
|
- BFLog(message: "endpoints 为空")
|
|
|
+ debugPrint("endpoints 为空")
|
|
|
return .shared
|
|
|
}
|
|
|
#if DEBUG
|
|
@@ -162,13 +162,12 @@ public class PQAliOssUtil: NSObject {
|
|
|
let url = PQENVUtil.shared.longvideoapi + (isMatarialUpload ? materialUploadStsTokenUrl : getStsTokenUrl)
|
|
|
|
|
|
let authServerUrl = url + "?appType=\(commonParams()["appType"] as? String ?? "")" + "&machineCode=" + getMachineCode()
|
|
|
- + "&token=" + BFLoginUserInfo.shared.accessToken + "&loginUid" + BFLoginUserInfo.shared.uid + "&fileType=2" + "&uploadId=\(ossUploadID)"
|
|
|
-
|
|
|
- BFLog(message: "authServerUrl is: \(authServerUrl)")
|
|
|
- BFLog(message: "当前上传authServerUrl线程:\(Thread.isMainThread) ")
|
|
|
+ + "&token=" + (PQBFConfig.shared.token ?? "") + "&loginUid" + (PQBFConfig.shared.uid ?? "") + "&fileType=2" + "&uploadId=\(ossUploadID)"
|
|
|
+ debugPrint("authServerUrl is: \(authServerUrl)")
|
|
|
+ debugPrint("当前上传authServerUrl线程:\(Thread.isMainThread) ")
|
|
|
|
|
|
let provider = OSSAuthCredentialProvider(authServerUrl: authServerUrl) { (data) -> Data? in
|
|
|
- BFLog(message: "当前上传provider线程:\(Thread.isMainThread) ")
|
|
|
+ debugPrint("当前上传provider线程:\(Thread.isMainThread) ")
|
|
|
// 在 OSSModel 代码中解析有自己的格式 所以接收到我方服务器后的数据要进行二次处理 AccessKeyId 等信息
|
|
|
let str = String(data: data, encoding: .utf8)
|
|
|
let jsonDic = jsonStringToDictionary(str!)
|
|
@@ -183,7 +182,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
]
|
|
|
}
|
|
|
let proStr = dictionaryToJsonString(respDic as [String: Any])
|
|
|
- BFLog(message: "处理后准备给 OSS SDK数据 \(String(describing: proStr))")
|
|
|
+ debugPrint("处理后准备给 OSS SDK数据 \(String(describing: proStr))")
|
|
|
let decodedData = proStr?.data(using: .utf8)
|
|
|
if decodedData != nil {
|
|
|
return decodedData
|
|
@@ -205,14 +204,14 @@ public class PQAliOssUtil: NSObject {
|
|
|
fileSize = attr[FileAttributeKey.size] as! UInt64
|
|
|
|
|
|
} catch {
|
|
|
- BFLog(message: "取文件大小 Error: \(error)")
|
|
|
+ debugPrint("取文件大小 Error: \(error)")
|
|
|
if aliOssHander != nil {
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
|
self?.aliOssHander!(isMatarialUpload, materialType, fileURL.absoluteString.pathExtension, 260, FileName, contentMD5, width, height, 0, 0, nil, fileURL, nil, "文件已丢失")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- BFLog(message: "文件已经存在 \(fileURL) 文件大小 \(fileSize)")
|
|
|
+ debugPrint("文件已经存在 \(fileURL) 文件大小 \(fileSize)")
|
|
|
var partSize: Int = 0
|
|
|
// sdk中规定kClientMaximumOfChunks = 5000;
|
|
|
let defaultChunkSize: UInt64 = 1024 * 1024
|
|
@@ -223,12 +222,12 @@ public class PQAliOssUtil: NSObject {
|
|
|
} else {
|
|
|
partSize = Int(ceil(Float(fileSize / 5000)))
|
|
|
}
|
|
|
- BFLog(message: "partSize \(partSize)")
|
|
|
+ debugPrint("partSize \(partSize)")
|
|
|
// 除最后一片外 不能小于 102400(100kb)
|
|
|
request.partSize = UInt(partSize)
|
|
|
request.uploadId = ossUploadID
|
|
|
request.uploadProgress = { [weak self] (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in
|
|
|
- BFLog(message: "当前上传uploadProgress线程:\(Thread.isMainThread) ")
|
|
|
+ debugPrint("当前上传uploadProgress线程:\(Thread.isMainThread) ")
|
|
|
self?.paraseSpeedAndRestTime(bytesSent: bytesSent, totalBytesSent: totalBytesSent, totalBytesExpectedToSend: totalBytesExpectedToSend) { uploadSpeed, resttime in
|
|
|
if self?.aliOssProgressHander != nil {
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
@@ -257,11 +256,11 @@ public class PQAliOssUtil: NSObject {
|
|
|
let task = client.multipartUpload(request)
|
|
|
|
|
|
task.continue ({ [weak self] (osstask) -> Any? in
|
|
|
- BFLog(message: "当前上传线程:\(Thread.isMainThread) ")
|
|
|
+ debugPrint("当前上传线程:\(Thread.isMainThread) ")
|
|
|
if osstask.error == nil {
|
|
|
- BFLog(message: "上传成功")
|
|
|
+ debugPrint("上传成功")
|
|
|
// 文件URL的格式为:BucketName.Endpoint/ObjectName。
|
|
|
- BFLog(message: " 上传成功注意使用时拼接域名 url == \(FileName)")
|
|
|
+ debugPrint(" 上传成功注意使用时拼接域名 url == \(FileName)")
|
|
|
request.callbackParam = ["code": 1, "objectKey": FileName, "msg": "上传成功"]
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
|
if self?.aliOssHander != nil {
|
|
@@ -280,7 +279,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
// 上传完成
|
|
|
PQEventTrackViewModel.baseReportUpload(businessType: .bt_up_process, objectType: .ot_up_success, pageSource: nil, remindmsg: "上传相关")
|
|
|
} else {
|
|
|
- BFLog(message: "上传失败 \(osstask.error!)")
|
|
|
+ debugPrint("上传失败 \(osstask.error!)")
|
|
|
|
|
|
request.callbackParam = ["code": (osstask.error! as NSError).code, "objectKey": FileName, "msg": osstask.error?.localizedDescription ?? ""]
|
|
|
if self?.aliOssHander != nil {
|
|
@@ -331,9 +330,9 @@ public class PQAliOssUtil: NSObject {
|
|
|
#if DEBUG
|
|
|
OSSLog.enable()
|
|
|
#endif
|
|
|
- BFLog(message: "普通上传数据 参数 accessKeyId:\(accessKeyId) secretKeyId:\(secretKeyId) securityToken:\(securityToken) bucketName:\(bucketName) endpoint:\(endpoint) objectKey:\(objectKey) enableBackground:\(enableBackground) fileURL : \(fileURL!)")
|
|
|
+ debugPrint("普通上传数据 参数 accessKeyId:\(accessKeyId) secretKeyId:\(secretKeyId) securityToken:\(securityToken) bucketName:\(bucketName) endpoint:\(endpoint) objectKey:\(objectKey) enableBackground:\(enableBackground) fileURL : \(fileURL!)")
|
|
|
if endpoint.count <= 0 || (endpoint.first?.count ?? 0) <= 0 {
|
|
|
- BFLog(message: "endpoints 为空")
|
|
|
+ debugPrint("endpoints 为空")
|
|
|
return .shared
|
|
|
}
|
|
|
let provider = OSSStsTokenCredentialProvider(accessKeyId: accessKeyId, secretKeyId: secretKeyId, securityToken: securityToken)
|
|
@@ -378,7 +377,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
speed = speed / 1024
|
|
|
units = "M/s"
|
|
|
}
|
|
|
- BFLog(message: "上传速度: \(speed)\(units) 还剩时间 \(resttime)")
|
|
|
+ debugPrint("上传速度: \(speed)\(units) 还剩时间 \(resttime)")
|
|
|
}
|
|
|
}
|
|
|
// 多个界面都要处理上传进度 所以使用通知 ? 通知有回到主线?
|
|
@@ -387,11 +386,11 @@ public class PQAliOssUtil: NSObject {
|
|
|
let task = client?.putObject(request)
|
|
|
if fileURL?.absoluteString.contains("_noise_") ?? false {
|
|
|
task?.continue ({ [weak self] (osstask) -> Any? in
|
|
|
- BFLog(message: "当前上传线程:\(Thread.isMainThread) ")
|
|
|
+ debugPrint("当前上传线程:\(Thread.isMainThread) ")
|
|
|
if osstask.error == nil {
|
|
|
- BFLog(message: "上传成功")
|
|
|
+ debugPrint("上传成功")
|
|
|
// 文件URL的格式为:BucketName.Endpoint/ObjectName。
|
|
|
- BFLog(message: " 上传成功注意使用时拼接域名 url == \(objectKey)")
|
|
|
+ debugPrint(" 上传成功注意使用时拼接域名 url == \(objectKey)")
|
|
|
request.callbackParam = ["code": 1, "objectKey": objectKey, "msg": "上传成功"]
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
|
if self?.aliOssHander != nil {
|
|
@@ -410,7 +409,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
// 上传完成
|
|
|
PQEventTrackViewModel.baseReportUpload(businessType: .bt_up_process, objectType: .ot_up_success, pageSource: nil, remindmsg: "上传相关")
|
|
|
} else {
|
|
|
- BFLog(message: "上传失败 \(osstask.error!)")
|
|
|
+ debugPrint("上传失败 \(osstask.error!)")
|
|
|
request.callbackParam = ["code": (osstask.error! as NSError).code, "objectKey": objectKey, "msg": osstask.error?.localizedDescription ?? ""]
|
|
|
if self?.aliOssHander != nil {
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
@@ -432,11 +431,11 @@ public class PQAliOssUtil: NSObject {
|
|
|
}).waitUntilFinished()
|
|
|
} else {
|
|
|
task?.continue ({ [weak self] (osstask) -> Any? in
|
|
|
- BFLog(message: "当前上传线程:\(Thread.isMainThread) ")
|
|
|
+ debugPrint("当前上传线程:\(Thread.isMainThread) ")
|
|
|
if osstask.error == nil {
|
|
|
- BFLog(message: "上传成功")
|
|
|
+ debugPrint("上传成功")
|
|
|
// 文件URL的格式为:BucketName.Endpoint/ObjectName。
|
|
|
- BFLog(message: " 上传成功注意使用时拼接域名 url == \(objectKey)")
|
|
|
+ debugPrint(" 上传成功注意使用时拼接域名 url == \(objectKey)")
|
|
|
request.callbackParam = ["code": 1, "objectKey": objectKey, "msg": "上传成功"]
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
|
if self?.aliOssHander != nil {
|
|
@@ -455,7 +454,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
// 上传完成
|
|
|
PQEventTrackViewModel.baseReportUpload(businessType: .bt_up_process, objectType: .ot_up_success, pageSource: nil, remindmsg: "上传相关")
|
|
|
} else {
|
|
|
- BFLog(message: "上传失败 \(osstask.error!)")
|
|
|
+ debugPrint("上传失败 \(osstask.error!)")
|
|
|
request.callbackParam = ["code": (osstask.error! as NSError).code, "objectKey": objectKey, "msg": osstask.error?.localizedDescription ?? ""]
|
|
|
if self?.aliOssHander != nil {
|
|
|
DispatchQueue.main.async { [weak self] in
|
|
@@ -505,7 +504,7 @@ public class PQAliOssUtil: NSObject {
|
|
|
}
|
|
|
lastInterfaceBytes = newInterfaceBytes
|
|
|
let resttime = (totalBytesExpectedToSend - totalBytesSent) / interfaceBytes
|
|
|
- BFLog(message: "interfaceBytes = \(interfaceBytes),totalBytesExpectedToSend = \(totalBytesExpectedToSend),totalBytesSent = \(totalBytesSent),")
|
|
|
+ debugPrint("interfaceBytes = \(interfaceBytes),totalBytesExpectedToSend = \(totalBytesExpectedToSend),totalBytesSent = \(totalBytesSent),")
|
|
|
complateHandle("\(PQBridgeObject.formatNetWork(interfaceBytes))", resttime)
|
|
|
}
|
|
|
|