Commit a9d5a4ec authored by Steven杜宇's avatar Steven杜宇

// 优化上传大文件 UI显示异常问题

parent b32c8ff5
......@@ -538,15 +538,16 @@ extension YHCertificateUploadSheetView: UIDocumentPickerDelegate {
fileCoordinator.coordinate(readingItemAt: url, options:[.forUploading], error: &error) {
fileUrl in
uploadFilesBlock?(fileUrl)
dismiss()
uploadFilesBlock?(fileUrl)
}
url.stopAccessingSecurityScopedResource()
if let error = error {
printLog("\(error.localizedDescription)")
}
} else {
print("授权失败")
YHHUD.flash(message: "文件授权失败")
dismiss()
}
}
......
......@@ -111,39 +111,42 @@ class YHOSSManager: NSObject, URLSessionDelegate {
callBackBlock(nil, YHErrorModel())
return
}
let fileExtension = URL(fileURLWithPath: file).pathExtension.lowercased()
request.uploadingData = fileData
request.bucketName = self.model.bucket
let timestamp = Date().timeIntervalSince1970
let name = "\(UInt64(timestamp))" + ".\(fileExtension)"
self.fileName.append(name)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
let currentDateMMdd = dateFormatter.string(from: Date())
request.objectKey = "4001001" + "/" + currentDateMMdd + "/" + "\(name)"
request.contentDisposition = "inline"
request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in
printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)")
}
let task = self.mClient.putObject(request)
task.continue({ (t) -> Any? in
let result = t
if (result.error != nil) {
let error: NSError = (task.error)! as NSError
let result = error.description
callBackBlock(nil, YHErrorModel())
} else {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
let currentDateMMdd = dateFormatter.string(from: Date())
let string = "https://" + self.model.bucket + "." + "oss-cn-shenzhen.aliyuncs.com/" + "4001001" + "/" + currentDateMMdd + "/" + "\(self.fileName.first ?? "")"
self.fileName.removeFirst()
callBackBlock(string, YHErrorModel())
DispatchQueue.global().async {
let fileExtension = URL(fileURLWithPath: file).pathExtension.lowercased()
request.uploadingData = fileData
request.bucketName = self.model.bucket
let timestamp = Date().timeIntervalSince1970
let name = "\(UInt64(timestamp))" + ".\(fileExtension)"
self.fileName.append(name)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
let currentDateMMdd = dateFormatter.string(from: Date())
request.objectKey = "4001001" + "/" + currentDateMMdd + "/" + "\(name)"
request.contentDisposition = "inline"
request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in
printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)")
}
return
}).waitUntilFinished()
let task = self.mClient.putObject(request)
task.continue({ (t) -> Any? in
let result = t
if (result.error != nil) {
let error: NSError = (task.error)! as NSError
let result = error.description
callBackBlock(nil, YHErrorModel())
} else {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
let currentDateMMdd = dateFormatter.string(from: Date())
let string = "https://" + self.model.bucket + "." + "oss-cn-shenzhen.aliyuncs.com/" + "4001001" + "/" + currentDateMMdd + "/" + "\(self.fileName.first ?? "")"
self.fileName.removeFirst()
callBackBlock(string, YHErrorModel())
}
return
}).waitUntilFinished()
}
}
func getPublic(url: String, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment