我正在嘗試上傳從 UIImage 生成的 PDF。我使用我的相機框架拍照,上傳一切正常,但 S3 上的 PDF 是空白的。下面是我正在使用的代碼:
- 我使用以下類從 UIImage 創建 PDF,測驗正常。
// Using PDFKit
func generatePDF(source: UIImage) -> PDFDocument {
let pdfDocument = PDFDocument()
let pdfPage = PDFPage(image: source)
pdfDocument.insert(pdfPage!, at: 0)
return pdfDocument
}
- 我使用 Alamofire 對 pdf 執行分段上傳,測驗正常。
class NetworkManager {
static let shared = NetworkManager()
func upload(document: Data, name: String) {
let filename = "\(name).pdf"
let urlString = endpoint "?filename=" filename
let url = URL(string: urlString)!
var request = URLRequest(url: url, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 30)
request.method = .post
request.setValue(key, forHTTPHeaderField: api)
AF.upload(multipartFormData: { multiPart in
multiPart.append(document, withName: name, fileName: filename, mimeType: "application/pdf")
}, with: request)
.uploadProgress(queue: .main, closure: { progress in
print("Upload Progress: \(progress.fractionCompleted)")
})
.responseJSON(completionHandler: { data in
print("data: \(data)")
})
}
}
- 在 AWS 上,我使用以下框架將多部分資料重建回 PDF
lambda-multipart-parser

我重新部署了我的 api,一切都很完美,所以最終這不是代碼問題,而是 AWS 上的配置錯誤。
這篇博文非常有幫助: AWS SAM Configuration for API Gateway Binary Response / Payloads
謝謝大家的幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/311214.html
標籤:迅速 pdf 亚马逊-s3 aws-lambda 阿拉莫火
