Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 조립pc
- 바이러스
- 노트북수리
- 스피커
- 양산조립PC
- 조립컴퓨터
- 양산컴퓨터수리
- 데이터복구
- 하드복구
- 모니터수리
- 모니터판매
- 스마트공장
- 양산컴퓨터조립
- 컴퓨터수리
- 게임
- 컴퓨터조립
- 양산조립컴퓨터
- 파워서플라이
- 노트북
- USB복구
- 하드디스크
- 그래픽카드
- SSD
- MES
- 중고컴퓨터수리
- 케이스
- 컴퓨터업그레이드
- 중고컴퓨터판매
- 메인보드
- 모니터
Archives
- Today
- Total
엠엔디시스템 (시스템개발문의: 055-385-4832)
Flutter http Multipart/form-data 통신 본문
안녕하세요. 엠엔디시스템입니다.
플러터로 앱을 만들다 보면 단순 데이터뿐만 아니라 이미지 등 과 같은 데이터도 통신으로 서버로 보내야 할 때가 있습니다.
이번 포스팅에서는 플러터의 http 모듈을 통해 이미지파일을 POST요청으로 서버로 보내는 방법을 포스팅해보겠습니다.
1. http 패키지 추가하기
pub.dev에서 http패키지를 찾아서 프로젝트에 pubspec.yaml에 추가하고 Pub get을 합니다.
2. http모듈로 통신하기
var request = http.MultipartRequest('POST', Uri.parse("서버 엔드포인트"))
..fields['cod'] = cod
..fields['cnt'] = cntCtr.text;
http.MultipartRequest("POST", uri);로 Multipart/form-data 요청을 하나 생성합니다.
..fileds['cod'] = cod의 구문으로 단순 변수도 함께 보낼 수 있습니다.
request.files.add(await http.MultipartFile.fromPath(
'images',
image.path,
));
생성한 요청에 .files.add()으로 멀티파트데이터를 첨부할 수 있습니다.
var response = await request.send();
var responseBody = await response.stream.bytesToString();
요청의 세팅이 완료되면 .send()로 요청을 서버로 보낼 수 있습니다. 이 때 try를 사용하여 적절한 예외처리가 필요합니다.
요청 전체코드
void add() async{
String cod = codCtr.text;
var request = http.MultipartRequest('POST', Uri.parse("서버엔드포인트"))
..fields['cod'] = cod
..fields['cnt'] = cntCtr.text;
if(pickedImages.isNotEmpty){
for(XFile image in pickedImages){
if(image != null){
request.files.add(await http.MultipartFile.fromPath(
'images',
image.path,
));
}
}
}
try {
var response = await request.send();
var responseBody = await response.stream.bytesToString();
if (response.statusCode == 200) {
//요청 성공 후 처리
} else {
print("Failed to upload: $responseBody");
Get.snackbar('알림', '등록 실패');
}
} catch (e) {
print("Error sending request: $e");
Get.snackbar('알림', '네트워크 문제 발생');
}
}
'컴터및전산관련글' 카테고리의 다른 글
ASP NET CORE 7 CORS 설정 (0) | 2024.04.02 |
---|---|
모니터링 TV를 활용하여 금일 업무 정보를 게시한다~~ (0) | 2024.02.23 |
WMS(Warehouse Management System)의 특징과 장단점 (0) | 2024.01.31 |
스마트공장/스마트공장 MES 생산지시가 없으면 이상한 프로그램인가? (0) | 2024.01.24 |
SW와 연동하는 단말기를 구매할때 고려할 사항 (0) | 2024.01.21 |