Created
July 11, 2023 15:56
-
-
Save Teepheh-Git/0b76237d531da95ffe3805925a838c8e to your computer and use it in GitHub Desktop.
upload img
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let fileURL = URL(fileURLWithPath: "/Users/user/Downloads/appLogo.png") | |
let boundary = "Boundary-\(UUID().uuidString)" | |
let authorization = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NDU4LCJpYXQiOjE2ODkwODgyNzcsImV4cCI6MTY5MTY4MDI3N30.3vtNJxke0QBl3wGLuIGMnDzH-JpI8p64MVmRxux0TwI" | |
var request = URLRequest(url: URL(string: "https://fricassa-staging.itskillscenter.com/upload/")!, timeoutInterval: Double.infinity) | |
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") | |
request.addValue(authorization, forHTTPHeaderField: "Authorization") | |
request.httpMethod = "POST" | |
let body = NSMutableData() | |
for param in [["key": "files", "src": fileURL.path, "type": "file"]] { | |
if let paramName = param["key"] as? String, | |
let paramType = param["type"] as? String { | |
body.appendString("--\(boundary)\r\n") | |
body.appendString("Content-Disposition: form-data; name=\"\(paramName)\"") | |
if let contentType = param["contentType"] as? String { | |
body.appendString("\r\nContent-Type: \(contentType)") | |
} | |
if paramType == "text" { | |
if let paramValue = param["value"] as? String { | |
body.appendString("\r\n\r\n\(paramValue)\r\n") | |
} | |
} else { | |
if let fileData = try? Data(contentsOf: fileURL), | |
let fileContent = String(data: fileData, encoding: .utf8) { | |
body.appendString("; filename=\"\(fileURL.lastPathComponent)\"\r\n") | |
body.appendString("Content-Type: content-type header\r\n\r\n\(fileContent)\r\n") | |
} | |
} | |
} | |
} | |
body.appendString("--\(boundary)--\r\n") | |
request.httpBody = body as Data | |
let task = URLSession.shared.dataTask(with: request) { data, response, error in | |
guard let data = data else { | |
print(String(describing: error)) | |
return | |
} | |
print(String(data: data, encoding: .utf8)!) | |
} | |
task.resume() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment