Configuration of a UploadRequest(Data - File - InputStream - FormData).
import SolarNetwork
class HTTPBinUploadRequest: SLUploadRequest {
override func loadRequest() {
super.loadRequest()
self.path = "/post"
}
}
let bundle = Bundle.main
let resourcePath = bundle.path(forResource: "SLNetwork", ofType: "png")
do {
if let path = resourcePath {
let data = try Data(contentsOf: URL(fileURLWithPath: path))
let uploadRequest = HTTPBinUploadRequest()
uploadRequest.data = data
HTTPBinNetwork.upload(uploadRequest, progressClosure: { (progress) in
}) { (response) in
}
}
}
catch {
debugPrint(error)
}
if let path = resourcePath {
let uploadRequest = HTTPBinUploadRequest()
uploadRequest.filePath = path
HTTPBinNetwork.upload(uploadRequest, progressClosure: { (progress) in
}) { (response) in
}
}
do {
if let path = resourcePath {
let data = try Data(contentsOf: URL(fileURLWithPath: path))
let inputStream = InputStream(data: data)
let uploadRequest = HTTPBinUploadRequest()
uploadRequest.inputStream = (inputStream, data.count)
HTTPBinNetwork.upload(uploadRequest, progressClosure: { (progress) in
}) { (response) in
}
}
}
catch {
debugPrint(error)
}
if let path = resourcePath {
let uploadRequest = HTTPBinUploadRequest()
uploadRequest.multipartFormDataClosure { (multipartFormData) in
let url = URL(fileURLWithPath: path)
multipartFormData.append(url, withName: "SLNetwork")
}
HTTPBinNetwork.upload(uploadRequest, progressClosure: { (progress) in
}) { (response) in
}
}