제 생각에는 만드신 소스의 문제는 아닐 듯 합니다.
제가 Http로 Post하는 프로그램을 만들었을때 Window에서 테스트 용으로 사용했던 것이
서버에 DexUpload 던가 그것으로 서버에 설치하고 Indy로 http post를 사용하였을 경우 아래와 같은 이유로 업로드가 실패했던 것으로 기억됩니다. 그래서 pas 소스를 고쳐서 처리를 했을 경우 정상적으로 작동했습니다.
윈도우가 아닌 유닉스 기반으로 Http Upload를 할 경우에는 그 바꾼 것때문에 문제가 생기더군요.
그래서 다시 이전 Pascal 소스로 원복하게 되었네요.
제 개인 적인 생각으로는 업로드 소스를 고치는 것 보다는
서버쪽 Component를 다른 것으로 사용하시던지 만들어서 사용하시는 것이 좋을 듯 한데..
(음 저도 사실 시간 핑계 대고 못만들고 있습니다.)
Mani 님이 쓰신 글 :
: 이번에 웹페이지로 파일을 업로드 시키는 프로그램을 만들고 있습니다.
:
: 저번에 jpg파일을 업로드하는 프로그램을 만들어 봐서 쉽게 될 줄 알았습니다.
:
: 그런데...
:
: 이상하게 프로그램에서 업로드를 하면 이미지가 깨집니다...
:
: 웹페이지 한개 간단히 만들어서 보내면 정상적으로 업로드가 되구요...
:
: 이것 저것 해봐도 이유를 모르겠네요...ㅜ.ㅜ
:
: 보내는 로직은 아래와 같습니다.
:
: request = new TIdMultiPartFormDataStream;
: response = new TStringStream("") ;
:
: request->AddFormField("aa", "1111");
: request->AddFormField("bb", "11111");
: request->AddFormField("cc", "1111");
: request->AddFormField("dd", "1111");
: request->AddFormField("ee", "0");
: request->AddFormField("ff", "3");
: request->AddFormField("gg", "2");
: request->AddFile("File" ,"c:\aaa.jpg", "image/jpg") ;
: request->Position = 0 ;
: String Url ;
: Url = "
http://www.abc.com/aa.asp" ;
:
: try
: {
: Rlt = "" ;
: IdHTTP1->Post( Url, request, response);
: Rlt = response->DataString ;
: }
: catch(Exception &E)
: {
: Memo1->Lines->Add("컨텐츠전송 실패" + E.Message) ;
: Memo1->Lines->Add(Rlt) ;
: return ;
: }
:
: delete request ;
: delete response ;
:
: IdHTTP1->Disconnect() ;
:
: Memo1->Lines->Add(Rlt) ;
:
:
: 이상 입니다.
:
: 서버는 window 2000서버이구요
: 업로드 모듈은 Dext 입니다...
:
: 혹시 제가 빠뜨린 부분이 있는지 고수님들 봐주세요....