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 |
Tags
- create
- 정처기 실기
- C#
- HeidiSQL
- c# 클로저
- WinForms
- Telerik
- UI
- VisualStudio2019
- git commit vi
- Git
- System.IndexOutOfRangeException
- MFC
- IndexOutOfRangeException
- C# sprintf
- 정보처리기사
- c# for
- 정보처리기사 실기
- restapi
- url 파싱
- 프로토타입
- multipart/form-data
- MariaDB
- postgresql
- 정처기
- url파싱
- drop
- POST
- show
- wss 파싱
Archives
- Today
- Total
달짱달짱
[RestAPI/C#] Multipart/form-data POST 방식 수신 데이터 파싱 본문
POST 방식으로 보내진 Multipart/form-data Body를 가져오는 방법은 이전 발행 글에 있다.
2022.05.04 - [RestAPI] - [RestAPI/C#] Multipart/form-data POST 방식 수신
위와 같은 방식으로 가져온 데이터를 값 별로 파싱하기 (HttpMultipartParser 이용)
1. C# 프로젝트(.Net Framework 4.7.2) 생성
2. 솔루션 탐색기 > 프로젝트 > 우클릭 > Nuget 패키지 관리
3. 찾아보기 탭 > 'HttpMultipartParser' 검색 > (만약 결과가 안나온다면 우측 상단에 패키지 소스가 모두로 되어있는지 확인) > 설치
4. HttpMultipartParser 참조
using HttpMultipartParser;
5. parser 선언
var parser = MultipartFormDataParser.Parse(stream); //stream: Request Body (stream형식)
6. parser를 이용해 값 가져오기
var name_value = parser.GetParameterValue("Name");
7. parser를 이용해 ImageFile 가져오기
//Image Parse
int nCnt = parser.Files.Count; //파싱할 파일의 개수
byte[] arrByte;
if (nCnt > 0) //파싱할 파일의 개수가 0보다 크면,
{
var file = parser.Files.First();
string filename = file.FileName;
Stream data = file.Data; //stream 형식으로 읽기
arrByte = streamToByteArray(data); //Byte Array로 변환
}
** 참고 **
Stream 을 ByteArray로 변환하는 함수
public static byte[] streamToByteArray(Stream input)
{
MemoryStream ms = new MemoryStream();
input.CopyTo(ms);
return ms.ToArray();
}
'RestAPI' 카테고리의 다른 글
[RestAPI/C#] Multipart/form-data POST 방식 수신 (0) | 2022.05.04 |
---|