EEYatHo 앱 깎는 이야기

Swift ) Request image/png 보내기 - EEYatHo iOS 본문

iOS, Swift

Swift ) Request image/png 보내기 - EEYatHo iOS

EEYatHo 2021. 12. 10. 14:07
반응형

1. Content-Type image/png로 그냥 보내기

// 리퀘 생성
var request = URLRequest(url: URL(string: requestUrl)!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 7)
request.httpMethod = "POST"

// 리퀘 헤드
request.setValue("image/png", forHTTPHeaderField: "Content-Type")

// 리퀘 바디
request.httpBody = image.pngData()!

 

 

2. multipart/form-data 이용하기 ( 바디에 다른 Content-Type들 담기 가능 )

// 리퀘 생성
var request = URLRequest(url: URL(string: requestUrl)!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 7)
request.httpMethod = "POST"

// 리퀘 헤드
let boundary = "Boundary_\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

// 리퀘 바디
var data = Data()
data.append("--\(boundary)\r\n".data(using: .utf8)!)
data.append("Content-Disposition: form-data; name=\"file\"\r\n".data(using: .utf8)!)
data.append("Content-Type: image/png\r\n\r\n".data(using: .utf8)!)
data.append(image.pngData()!)
data.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
request.httpBody = data

 

백엔드분이 image/png 데이터를 요구하셨는데,

 

정작 검색해서 처음 발견한게 2. multipart/form-data 방법이라서, 저렇게 작업했다가 왜 안되나했더니..

1. image/png 방법으로 하면 되는 거였다..

 

멍청하게 꼬아서 해놓고 왜안되냐 삽질.. 정말 모르는게 너무많다ㅏㅏ!!!!!ㅇㄴㅁㄹ

Comments