[Gambas-user] Help for gb.web.gui

gian bagoneo at libero.it
Wed Aug 10 13:21:10 CEST 2022


Il 10/08/22 11:54, Benoit Minisini ha scritto:
> Le 07/08/2022 à 22:43, T Lee Davidson a écrit :
>> On 8/7/22 16:29, gian via User wrote:
>>> Hi,
>>>
>>> There is a friend from the Italian forum, who starting from the 
>>> sources of the farm WebDemo program, try with this simple attached 
>>> test generate with the server a CSV file, this works, then he would 
>>> like from browser see download and save the file in the download 
>>> folder, this does not happen.
>>>
>>> Can you help him? Thank you
>>>
>>> With best regards
>>>
>>> Gianluigi
>>
>> I think there is a bug in the lib.js file that gb.web.gui uses. I am 
>> using stable Gambas 3.17.3, and I see that lib.js is different in the 
>> developer branch at the very spot where my browser developer console 
>> reports a Syntax Error in that file:
>> Uncaught SyntaxError: unexpected token: ':' lib:0.0.1.js:1:19
>>      answer http://localhost:8080/lib:0.0.1.js:275
>>      onreadystatechange http://localhost:8080/lib:0.0.1.js:324
>>      sendNewCommand http://localhost:8080/lib:0.0.1.js:324
>>      answer http://localhost:8080/lib:0.0.1.js:295
>>      onreadystatechange http://localhost:8080/lib:0.0.1.js:324
>>      sendNewCommand http://localhost:8080/lib:0.0.1.js:324
>>      send http://localhost:8080/lib:0.0.1.js:345
>>      update http://localhost:8080/lib:0.0.1.js:355
>>      onFocus http://localhost:8080/lib:0.0.1.js:431
>>      answer http://localhost:8080/lib:0.0.1.js:275
>>      onreadystatechange http://localhost:8080/lib:0.0.1.js:324
>>      (Async: EventHandlerNonNull)
>>      sendNewCommand http://localhost:8080/lib:0.0.1.js:324
>>      answer http://localhost:8080/lib:0.0.1.js:295
>>      onreadystatechange http://localhost:8080/lib:0.0.1.js:324
>>      (Async: EventHandlerNonNull)
>>      sendNewCommand http://localhost:8080/lib:0.0.1.js:324
>>      send http://localhost:8080/lib:0.0.1.js:345
>>      update http://localhost:8080/lib:0.0.1.js:355
>>      onFocus http://localhost:8080/lib:0.0.1.js:431
>>
>>
>> Benoît, have you fixed this already?
>>
>>
> 
> OK, this is not a bug, but the code that is flawed.
> 
> Your friend thought that a file can be sent from the server to the 
> client by using 'Response.SendFile()' inside an event handler.
> 
> 1) First mistake: a file download is initiated by the client, never by 
> the server.
> 
> 2) Second mistake: 'Response.SendFile()' works only if the client 
> initiated a download request, i.e. if it expects that kind of answer. 
> This is not the case when you are running an event handler in 
> 'gb.web.gui', where the communication follows a specific protocol, that 
> you can't hijack with lower level functions like 'Response.Send()'.
> 
> Regards,
> 

Hi Benoit,

I thank you very much for the clarification which I am going to refer to 
our friend.

I wish you a good day

Gianluigi


More information about the User mailing list