Microsoft MVP성태의 닷넷 이야기
[질문]ASP에서 ATL 서버 컴퍼넌트로 바이너리 데이타 전달하기 [링크 복사], [링크+제목 복사],
조회: 10461
글쓴 사람
장희석 (paraline at naver.com)
홈페이지
첨부 파일
 

안녕하세요?

asp 페이지에서 파일을 바이너리로 읽어서 그 데이타를 ATL로 만든 서버 컴퍼넌트의 메소드 인자로 넘겼습니다.
ATL 컴퍼넌트에서는 넘어온 인자를 파일로 저장하려고 하는데, VARIANT 타입으로 받으면 될까요?
아래와 같이 해봤는데, 저장된 파일은 정상 파일이 아니더군요.
파일 관련 함수(fopen, fwrite 등등...)를 사용하기 위해 VARIANT를 char *로 바꿨는데, 어디가 잘못됐는지 모르겠습니다.
Convert 방법은 게시판의 글을 참조했습니다.

STDMETHODIMP CCOM::SetFile(VARIANT FileBin, int nSize, int *Result)
{
    char *pBuffer = (char *)malloc(nSize);
    INT cbCount = 0;

    cbCount = WideCharToMultiByte(CP_ACP, 0, FileBin.bstrVal, -1, NULL, 0, NULL, NULL);
    WideCharToMultiByte(CP_ACP, 0, FileBin.bstrVal, -1, pBuffer, cbCount, NULL, NULL);

    FILE *file = fopen("d:\\test.zip", "w");
    fwrite(pBuffer, sizeof(char), nSize, file);
    fclose(file);

    return S_OK;
}

참고로, 파일 저장에 관한 방법론과는 상관없는 질문입니다.(예를 들어 컴퍼넌트에서 파일명만 받아서 직접 오픈해서 저장하는 등의 방법)
질문의 요지는 바이너리 형태를 asp에서 컴퍼넌트로 넘길때 VARIANT로 받는게 맞는지, 맞다면, 어떤식으로 char *형태로 바꾸는지에
대한 질문입니다.

아, 그리고, 당연히 파일 사이즈도 함께 넘겨야 맞는거죠? 혹시나 VARIANT 타입은 넘긴 데이터의 끝을 알수 있지 않나 싶어서요. ^^








[최초 등록일: ]
[최종 수정일: 4/22/2005]


비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  37  [38]  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4938김성대1/3/201815707채팅 프로그램관련 질문입니다. [9]파일 다운로드1
4937Ques...1/3/201817868C# CPU 사용량 한계치 늘리는 방법 [2]
4936무개1/3/201815006책 내용 인용하는 것에 관한 질문이있습니다. [1]파일 다운로드1
4935몬난아12/28/201717808IIS 및 ASP.NET 이 서버에서의 동작방식? [2]
4934Ques...12/26/201729133C# 해상도에 따른 자동 사이즈 조절방법이 궁금합니다. [3]
4933Kay12/15/201715261C# VS 버전 에러 질문 드립니다. [1]파일 다운로드1
4932정환나라12/13/201715592vs2013에서 빌드한 com 컨트롤 객체를 닷넷 2.0에서 사용하려 합니다 [4]
4931Arvid12/12/201716282Visual Studio 2012 c# using문 참조 에러 [5]파일 다운로드1
4929김성대12/8/201714453app.config에 관한질문입니다. [1]
4928김성대12/7/201715377SQL Server 설치에러에 대한 질문입니다. [1]파일 다운로드1
4926heyh...12/6/201714447[삭제] ContextSwitchDeadlock????
4925ho12/5/201715004[삭제] WebBrowser로 드롭박스 로그인 페이지 탐색 시 발생한 문제에 대해 질문 올립니다.파일 다운로드2
4924몽중언12/3/201715448C# 디버깅 모드에서만 DB Insert가 되는 현상 질의 [6]
4923고요한11/23/201715613파일 확장자에 연결된 프로그램을 등록하는 방법에 대한 질문입니다. [2]
4922박성훈11/23/201717027시작하세요! C# 7.1 학습 방법 [3]
4921초보개발자11/20/201713801[삭제] 폼 사이즈 질문드립니다.
4920Ques...11/19/201714587IEnumerable 의 "지연된 평가" 에 관하여 질문드립니다. [2]파일 다운로드1
4919mskim11/16/201715276Split()을 이용하여 문자 구분 시 구분문자도 같이 저장하는 방법이 있나요? [2]
4917ho11/16/201715739WPF XAML 트리거 관련해 문의 드립니다. [3]
4918ho11/16/201716363    답변글 [답변]: 예제 프로젝트 첨부합니다. [4]파일 다운로드2
4916필승11/11/201715868기본 웹 브라우저 체크는 어떻게 해야 하나요? [2]
4915필승11/10/201715027WebBrowser 컨트롤 소리 출력 문의 드립니다. [2]
4914Ques...11/10/201715699c# 버튼 이벤트에 관하여 질문드립니다. [2]
4913Arvid11/8/201718538Log4Net 라이브러리를 이용하여 특정 기간이 지났을 때 자동 로그 삭제 기능 구현 질문 드립니다! [2]
4912조범희11/8/201718096C# FTP 다운로드중 에러 발생.. [2]파일 다운로드1
4911필승11/6/201716441WebBrowser 컨트롤 사용법에 대해 궁금합니다. [2]
... 31  32  33  34  35  36  37  [38]  39  40  41  42  43  44  45  ...