修复上传图片失败问题

This commit is contained in:
zeng 2026-01-27 15:16:20 +08:00
parent 261c75c8b7
commit 54aeb47fd9
2 changed files with 217 additions and 196 deletions

View File

@ -318,6 +318,7 @@ extension APUploadIAPListVC {
}
let imaUrl = URL.init(fileURLWithPath: imgPath)
let uploadFileName = imaUrl.lastPathComponent.isEmpty ? imgName : imaUrl.lastPathComponent
guard let fileMD5 = URL.init(fileURLWithPath: imgPath).fileMD5() else {
ascAPI.addMessage("内购商品截图文件错误:\(imgPath) ,无法生成 md5 值~")
return
@ -333,10 +334,14 @@ extension APUploadIAPListVC {
}
}
ascAPI.addMessage("创建新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("创建新的送审截图:\(uploadFileName)")
//
let imaSize = imaUrl.fileSizeInt()
guard let shot = await ascAPI.createInAppPurchasesScreenshot(iapId: iapId, fileName: imgName, fileSize: imaSize) else {
guard imaSize > 0 else {
ascAPI.addMessage("内购商品截图文件错误:\(imgPath) ,文件大小为 0~")
return
}
guard let shot = await ascAPI.createInAppPurchasesScreenshot(iapId: iapId, fileName: uploadFileName, fileSize: imaSize) else {
//
ascAPI.addMessage("内购商品:\(product.productId) ,创建送审截图失败!❌ ")
return
@ -357,7 +362,7 @@ extension APUploadIAPListVC {
request.headers[header.name ?? ""] = header.value ?? ""
}
ascAPI.addMessage("上传新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("上传新的送审截图:\(uploadFileName)")
//
guard let response = try? await URLSession.shared.upload(for: request, fromFile: imaUrl) else {
ascAPI.addMessage("内购商品:\(product.productId) ,创建送审截图失败!上传图片异常~ ❌ ")
@ -368,7 +373,7 @@ extension APUploadIAPListVC {
return
}
ascAPI.addMessage("提交新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("提交新的送审截图:\(uploadFileName)")
//
if ((await ascAPI.updateInAppPurchasesScreenshot(iapShotId: shot.id, fileMD5: fileMD5)) != nil) {
ascAPI.addMessage("内购商品:\(product.productId) ,送审截图上传成功!✅ ")
@ -636,6 +641,7 @@ extension APUploadIAPListVC {
}
let imaUrl = URL.init(fileURLWithPath: imgPath)
let uploadFileName = imaUrl.lastPathComponent.isEmpty ? imgName : imaUrl.lastPathComponent
guard let fileMD5 = URL.init(fileURLWithPath: imgPath).fileMD5() else {
ascAPI.addMessage("订阅商品截图文件错误:\(imgPath) ,无法生成 md5 值~")
return
@ -651,10 +657,14 @@ extension APUploadIAPListVC {
}
}
ascAPI.addMessage("创建新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("创建新的送审截图:\(uploadFileName)")
//
let imaSize = imaUrl.fileSizeInt()
guard let shot = await ascAPI.createSubscriptionScreenshot(iapId: iapId, fileName: imgName, fileSize: imaSize) else {
guard imaSize > 0 else {
ascAPI.addMessage("订阅商品截图文件错误:\(imgPath) ,文件大小为 0~")
return
}
guard let shot = await ascAPI.createSubscriptionScreenshot(iapId: iapId, fileName: uploadFileName, fileSize: imaSize) else {
//
ascAPI.addMessage("订阅商品:\(product.productId) ,创建送审截图失败!❌ ")
return
@ -675,7 +685,7 @@ extension APUploadIAPListVC {
request.headers[header.name ?? ""] = header.value ?? ""
}
ascAPI.addMessage("上传新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("上传新的送审截图:\(uploadFileName)")
//
guard let response = try? await URLSession.shared.upload(for: request, fromFile: imaUrl) else {
ascAPI.addMessage("订阅商品:\(product.productId) ,创建送审截图失败!上传图片异常~ ❌ ")
@ -686,7 +696,7 @@ extension APUploadIAPListVC {
return
}
ascAPI.addMessage("提交新的送审截图:\(product.reviewScreenshot)")
ascAPI.addMessage("提交新的送审截图:\(uploadFileName)")
//
if ((await ascAPI.updateSubscriptionScreenshot(iapShotId: shot.id, fileMD5: fileMD5)) != nil) {
ascAPI.addMessage("订阅商品:\(product.productId) ,送审截图上传成功!✅ ")

View File

@ -1143,6 +1143,17 @@ class APASCAPI {
}
let shot = try await provider.request(request).data
return shot
} catch APIProvider.Error.decodingError(let decodeError, let data) {
if let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any],
json["data"] is NSNull {
return nil
}
let err = APIProvider.Error.decodingError(decodeError, data)
handleError("获取订阅商品的送审截图异常: \(err.localizedDescription)")
return nil
} catch APIProvider.Error.requestFailure(let statusCode, let errorResponse, _) {
handleRequestFailure(statusCode, errorResponse)
return nil
} catch {
handleError("获取订阅商品的送审截图异常: \(error.localizedDescription)")
return nil