Alex, you are not alone. I noticed something similar with LcServer 7.10 on the On-Rev server Tio. $_post arrays where empty when data was formatted with libUrlMultipartFormData, while $_post_raw showed the content. So it was not possible to post larger binary data to LcServer.
I send a support request already in April this year informing the On-Rev team that the installed LcServer version is not able to handle http posts when the data was formatted with libUrlMultipartFormData. I decided to install my own version of LcServer (in my case LC9-dp6 at that time) using the .htaccess method, which solved my problem immediately. The only caveat: If you have several add-on domains and each domain uses its own root folder under public_html, e.g. public_html/domain1 public_html/domain2 or whatever the folder names are, you have to install your custom LcServer for each domain separately into the cgi-bin folder of each of that root folders public_html/domain1/cgi-bin public_html/domain2/cgi-bin If all of your domains use public_html as the root folder then just install it into public_html/cgi-bin My .htaccess looks like this, in case you are interested. This version work also with HostM accounts, while the htaccess example in the LcServer lesson doesn´t. # RewriteEngine on # this suPHP… btw allows to set php settings using a php.ini file which is stored in public_html folder # it is not needed on HostM accounts, because PHP settings can set in cPanel there. suPHP_ConfigPath /home/YOURACCOUNTNAME/public_html/ <Files php.ini> order allow,deny deny from all </Files> Options +ExecCGI # path the the LcServer executable Action custom-livecode /cgi-bin/livecode-server-9dp6/livecode-server <FilesMatch ".+\.lc$"> SetHandler custom-livecode </FilesMatch> # The permissions of the folders and the LcServer executable are set to 755. The driver and external files are set to 644. Maybe this will “calm" you down a little bit. ;) Have a nice weekend. Just forgot: Would you please be so kind and share the information which library does contain the ArrayToJSON() function? Did you already try it out using it on LcServer? Regards, Matthias > Am 18.11.2017 um 00:53 schrieb Alex Tweedly via use-livecode > <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>>: > > This is a bit of a rant, so if you're not in the mood, switch off now :-) > > I will (when I've calmed down and organised myself :-) submit bug reports. > > So, normally, I don't have much time for my favourite hobby of scripting in > LC, which lately has been mostly LCServer for a couple of simple websites I > have built for friends. But this week I had lots of time set aside, because > I've (finally) convinced one of those website owners to do her own > maintenance / updating of the site. > > The site has many images - which I have typically put into my desktop copy of > the site, tried them out - and then synch'ed those up to the real site. > However, for the site owner to upload photos, I needed to revive my script > for uploading files (specifically images), which hasn't been used in a while. > And indeed, may have been played around with in the meantime - so I can't be > sure that this is exactly a "once-working" script. > > It was written a long time ago - back before there was any built-in way to > parse multi-part form content - so I did my own parsing of the POSTed data > (actually, I think someone else did it first, and I copied that :-) > > However - that no longer works. Using $_POST_RAW fails when the uploaded file > is a jpg image - it works ok for text file, simple PNGs etc. - but fails > dramatically when the file is proper binary. Test script of > >> <?lc >> set the errormode to inline >> put "raw has" && the number of bytes in $_POST_RAW && "bytes<br>" >> ?> > fails with > > file "/home/ua886128/public_html/tweedly.co.uk/tryme.lc > <http://tweedly.co.uk/tryme.lc>" > row 3, col 18: Chunk: can't get source string > row 3, col 18: Chunk: error in chunk expression > ..... > > when the POSTed data includes a JPG file. > > > While google'ing around for that, I ran into the Livecode lesson on this topic > > http://lessons.livecode.com/m/4070/l/40708-how-to-upload-a-file-with-livecode-server > > <http://lessons.livecode.com/m/4070/l/40708-how-to-upload-a-file-with-livecode-server> > > which uses the (newer) $_FILES array which does the complex parsing of the > file info from the form - a big improvement !! And indeed, the example there > works does work. BUT - it seems that although it correctly parses out the > file information, it loses any other POSTed values. So if your form consists > *ONLY* of one or more files to upload - you're good. But if you pass any > other values (e.g. folder you want it to go to, meta-info, passwords, etc.) > that is all lost. Which basically means it's unusable for any real scenario. > > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode