OOPS! You need to write:

"Content-Length: " + DocumentToContentType(FDocument) + "\r\n"

SZ

----- Original Message ----- 
From: "Fastream Technologies" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Wednesday, December 07, 2005 5:39 PM
Subject: Re: [twsocket] Sending a file with HTTPSERVER as response


>I think to achieve your goal, you may need something like:
>
>                String contentLength = "Content-Length: " +
> String(Body.Length()) + "\r\n";
>                String Header(FVersion + " 500 Server Error\r\n" +
>                          contentLength +
>                          "Content-Type: text/html\r\n" +
>                          "Connection: " + FRequestConnection + "\r\n" +
>                          "Server: " + serverString + "\r\n\r\n"
>                          );
>
>                PutStringInSendBuffer(Header);
> SendStream();
>
> Do not forget to assign the file stream to FDocStream prior to calling
> SendStream(). For this code to work, you need to set hgSendStream to 
> Flags.
> This is all needed because you have to construct the response header
> manually. There should be an easier way for your simple need but I told 
> that
> to you and it did not work, so this is a work around. I use technique for
> caching (I assign TmemoryStream to FDocStream) in our web server.
>
> Best Regards,
>
> SZ
>
> ----- Original Message ----- 
> From: <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Wednesday, December 07, 2005 5:33 PM
> Subject: Re: [twsocket] Sending a file with HTTPSERVER as response
>
>
>>I have tried the following:
>>
>>    ClientCnx.FDocument:='c:\1.zip';
>>    ClientCnx.SendDocument(HttpSendDoc);
>>
>> When I send the request from the browser, the file is displayed in the
>> browser in asci format and the browser does not come up with a save
>> dialog.
>>
>> I dont have a C++ compiler (dont know much about it either) but if you 
>> can
>> just send me a extract then I am sure I can figure it out.
>>
>> Thank you for taking the time to assist.
>>
>> Regards
>>
>> Juri Keyter
>>
>>> Here is what I do. After I receive the file with OnPostedData, I 
>>> manually
>>> call SendDocument within the same event. You need to check for socket
>>> errors
>>> and content-length (FRequestContentLength).
>>>
>>> If you need more examples, let me know if you can read C++.
>>>
>>> Best Regards,
>>>
>>> SZ
>>>
>>> ----- Original Message -----
>>> From: <[EMAIL PROTECTED]>
>>> To: "ICS support mailing" <twsocket@elists.org>
>>> Sent: Wednesday, December 07, 2005 11:16 AM
>>> Subject: Re: [twsocket] Sending a file with HTTPSERVER as response
>>>
>>>
>>>> Hi
>>>>
>>>> Thank you for the prompt response. Can you give me a small example on
>>>> how
>>>> to use hgSendDoc? I can see it is a flag but I have no idea how to
>>>> implement it. With a small one line example I will manage to figure it
>>>> out.
>>>>
>>>> Thank you
>>>>
>>>>
>>>>
>>>>
>>>> Juri Keyter
>>>>
>>>>> Hello,
>>>>>
>>>>> You need to use the hgSendDoc which is the default mode for GET/HEAD.
>>>>> Just
>>>>> change the DefaultDoc to the file you want. If there is no match for
>>>>> the
>>>>> MIME type in Francois' DocumentToContentType function, then you need 
>>>>> to
>>>>> build your own header and use sendstream instead.
>>>>>
>>>>> Best Regards,
>>>>>
>>>>> SZ
>>>>>
>>>>> ----- Original Message -----
>>>>> From: <[EMAIL PROTECTED]>
>>>>> To: <twsocket@elists.org>
>>>>> Sent: Tuesday, December 06, 2005 10:10 PM
>>>>> Subject: [twsocket] Sending a file with HTTPSERVER as response
>>>>>
>>>>>
>>>>>> Hi All
>>>>>>
>>>>>> I am playing with the ICS WebServ server demo and need some help. I
>>>>>> want
>>>>>> to use the user inputs received from form.htm and based on the user
>>>>>> responses provide a file to the web client for download. When the 
>>>>>> user
>>>>>> types "one" in the first name field as example, I want the server to
>>>>>> send
>>>>>> him a file (not a html page) and therefore expect the clients browser
>>>>>> to
>>>>>> bring up a save file dialog automatically. This is what I have in
>>>>>> mind:
>>>>>>
>>>>>> {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
>>>>>> *
>>>>>> * *
>>>>>> *}
>>>>>> { This will process posted data for
>>>>>>             }
>>>>>> { Data is saved in FormHandler.txt
>>>>>>      }
>>>>>> procedure TWebServForm.ProcessPostedData_FormHandler(
>>>>>>    ClientCnx : TMyHttpConnection);
>>>>>> var
>>>>>>    Stream    : TStream;
>>>>>>    FileName  : String;
>>>>>>    FirstName : String;
>>>>>>    LastName  : String;
>>>>>>    HostName  : String;
>>>>>>    Buf       : String;
>>>>>>    Dummy     : THttpGetFlag;
>>>>>> begin
>>>>>>    { Extract fields from posted data. }
>>>>>>    ExtractURLEncodedValue(ClientCnx.FPostedDataBuffer, 'FirstName',
>>>>>> FirstName);
>>>>>>    ExtractURLEncodedValue(ClientCnx.FPostedDataBuffer, 'LastName',
>>>>>> LastName);
>>>>>>    If FirstName:= 'one' then ----------now send him the file one.exe
>>>>>>    If FirstName:= 'two' then ----------now send him the file two.exe
>>>>>>
>>>>>> Your help is highly appreciated.
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> Juri Keyter
>>>>>>
>>>>>>
>>>>>> --
>>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>>> Visit our website at http://www.overbyte.be
>>>>>
>>>>> --
>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>> Visit our website at http://www.overbyte.be
>>>>>
>>>>
>>>> --
>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>> Visit our website at http://www.overbyte.be
>>>
>>> --
>>> To unsubscribe or change your settings for TWSocket mailing list
>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>> Visit our website at http://www.overbyte.be
>>>
>>
>> -- 
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be
>
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to