记录 alamofire 上传图片请求和响应
Log alamofire upload image request and response
我知道有很多关于此问题的信息,但我找不到与上传相关的确切信息。我正在使用 alamofire 进行 HTTP 调用。
我正在尝试将图像上传到 Amazon S3 并遇到错误,想记录请求和响应以查看到底是什么问题。
除了 Alamofire.upload,我的所有请求都在记录。我为请求添加了一个扩展,Aramofire.request 正在记录,现在我的问题是还要记录 Alamofire.upload.
例如,我尝试记录以下示例的请求和响应。
Alamofire.upload(multipartFormData: { (multipartFormData) in
for (key, value) in params {
multipartFormData.append(value.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: key)
}
if image != nil {
if let imgData = UIImageJPEGRepresentation(image!, 0.8) {
multipartFormData.append(imgData, withName: "file", fileName: "file.jpg", mimeType: "image/jpeg")
}
}
}, to: "amazon.s3.URL")
深入了解 SessionManager class 我发现了如何记录上传请求和响应的方法。
我覆盖了上传功能。
这是我的例子
class AlamofireManager: SessionManager {
override func upload(_ data: Data, with urlRequest: URLRequestConvertible) -> UploadRequest {
let request = super.upload(data, with: urlRequest)
print("Request: \(request.debugDescription)")
print("Response: \(request.response.data)")
return request
}
}
您也可以使用此 pod https://github.com/konkab/AlamofireNetworkActivityLogger,您可以在 applicationDidLaunch..
中调用它,它会很好地记录所有内容。
我知道有很多关于此问题的信息,但我找不到与上传相关的确切信息。我正在使用 alamofire 进行 HTTP 调用。 我正在尝试将图像上传到 Amazon S3 并遇到错误,想记录请求和响应以查看到底是什么问题。
除了 Alamofire.upload,我的所有请求都在记录。我为请求添加了一个扩展,Aramofire.request 正在记录,现在我的问题是还要记录 Alamofire.upload.
例如,我尝试记录以下示例的请求和响应。
Alamofire.upload(multipartFormData: { (multipartFormData) in
for (key, value) in params {
multipartFormData.append(value.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: key)
}
if image != nil {
if let imgData = UIImageJPEGRepresentation(image!, 0.8) {
multipartFormData.append(imgData, withName: "file", fileName: "file.jpg", mimeType: "image/jpeg")
}
}
}, to: "amazon.s3.URL")
深入了解 SessionManager class 我发现了如何记录上传请求和响应的方法。 我覆盖了上传功能。
这是我的例子
class AlamofireManager: SessionManager {
override func upload(_ data: Data, with urlRequest: URLRequestConvertible) -> UploadRequest {
let request = super.upload(data, with: urlRequest)
print("Request: \(request.debugDescription)")
print("Response: \(request.response.data)")
return request
}
}
您也可以使用此 pod https://github.com/konkab/AlamofireNetworkActivityLogger,您可以在 applicationDidLaunch..
中调用它,它会很好地记录所有内容。