Hi Mike, Thanks for that! I was doing the same thing at the same time:)
My code for setting up the server: local sTempMedia command setTempMedia ### Set the location of the tempMedia folder # set the defaultFolder to the folder containing the stackfile set the itemDelimiter to slash get the effective filename of this stack #set tempMedia folder location put item 1 to - 2 of it & "/tempMedia" into sTempMedia end setTempMedia on startHTTPServer # Launch httpd server to serve local images setTempMedia httpdStart "NewRequest", 8090, "imgEngine Server" end startHTTPServer on stopHTTPServer httpdStop 8090 end stopHTTPServer on NewRequest pSocketID, pRequest local tPath put sTempMedia & pRequest["resource"] into of tPath if there is a file tPath then local tData put url ("binfile:" & tPath) into tData httpdResponse pSocketID, 200, tData else -- not found httpdResponse pSocketID, 404 end if end NewRequest My code for embedding it: # tFileName is just the name of the file. i.e. MyFile.jpg put "http://localhost:8090/" & (tFileName) into tHero # other code would follow to meld tHero into my html and works just amazingly well!! Thanks again for all your help! I sure hope this helps someone else as well! Best, Steve > On Jul 29, 2018, at 8:02 PM, Mike Bonner via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Decided to try using the httpd library, and it seems to work pretty > nicely. If you want to set up a very simple web picture viewer (VERY > simple) the following code is a working but minimal start. > > local sBaseDir > on mouseup > httpdstart "newrequest",8888,"My Picture Server" --start the server on > port 8888 > put specialfolderpath("desktop") & "/pics" into sBaseDir -- Set this to > the folder that contains your pictures > end mouseup > > on newRequest pSocketId,pRequest -- handle requests > if pRequest["resource"] is "/" then -- if the request has no filename, > give the directory index of jpg files. (I only coded for jpegs) > put files(sBaseDir) into tFiles > repeat for each line tLIne in tFiles > put merge("<a href=[[tLine]]>[[tLine]]</a><br>") & cr after tData > -- build up the response data for each file > end repeat > httpdresponse pSocketId,200,tData -- send the index > else > put "Content-Type: image/jpeg ;" into pHeader -- set the content type > to jpeg > put URL("binfile:" & sBaseDir & pRequest["resource"]) into tData -- > read the image file and pop it into tData (binary mode) > httpdresponse pSocketId,200,tData,pHeader -- send the picture data, > 200 ok code, and set the correct header for picture data > end if > end newRequest > > If your filenames/paths have spaces, you'd have to jump through some hoops > to get it to work, and your base path has that space in it, so not sure how > to get it working. Actually, nevermind. If you change spaces in your > baseurl to "\ " it may work? I couldn't make it work here (on windows) > despite trying a whole bunch of ideas, so I cheated and made sure there > were no spaces. > > On Sun, Jul 29, 2018 at 3:21 PM Stephen MacLean via use-livecode < > use-livecode@lists.runrev.com> wrote: > >> Thanks Mike, yes that does work for just displaying the image. >> >> I’m building HTML on the fly and wanted to include the local image if >> there was one, for testing. This will be a moot point for production as >> everything will be served via a web server, but I was hoping to see this >> for testing. >> >> I will be looking to the new http server LC has as I will need it anyway >> for doing some API things with this engine. >> >> Thanks again to all! >> >> Best, >> Steve >> >>> On Jul 29, 2018, at 5:03 PM, Mike Bonner via use-livecode < >> use-livecode@lists.runrev.com> wrote: >>> >>> If you just need to see the image, you can do it by changing your >> method.. >>> >>> Instead of setting the htmltext, it should work to set the url to " >>> http://Users/steve/Dropbox/ITB%20pubEngine/tempMedia/99578 >>> 6d6-4429-4821-8b21-8e811289e12c.jpg" >>> >>> I'm not expert, but I think there is some type of cross-domain security >>> thing interfering here. A web page shouldn't be able to force access to >> a >>> file on your system due to security, unless the page originates with you. >>> And I THINK that directly setting the html basically means there is no >> base >>> domain, so it will refuse to show the image. Again, not an expert, so >> i'm >>> just making a wag. >>> If you need more control, you can likely create an html file on the fly >> and >>> point your url to that, at which point you can use relative addressing >> for >>> your pictures. So, if you created the html file with your code in the >> same >>> folder as your stack, you could then place.. <img src=tempMedia/ 99578 >>> 6d6-4429-4821-8b21-8e811289e12c.jpg> into the file and it will likely >> work. >>> >>> Another thing you might look into is running your own simple http server >>> (which LC now makes easy) so that you can set up a simple server and set >>> the url to http://localhost:8080/index.html (or whatever port number >> you >>> wish, and again, use relative pathing. >>> >>> Either of these 2 methods is easier than using long, easily mangled >>> absolute paths. I haven't delved into the self run server yet, but I >>> suspect you can do interesting things with it. (Or use the old revhttpd >>> stack which I HAVE used, and know that it works really well and can do >>> awesome stuff too) >>> >>> >>> >>> On Sun, Jul 29, 2018 at 2:32 PM Stephen MacLean via use-livecode < >>> use-livecode@lists.runrev.com> wrote: >>> >>>> Almost afraid to ask this because I feel like it’s a path issue with >>>> Relative vs Absolute… Remote images display fine in a browser widget, >> but >>>> local image files don’t seem to. >>>> >>>> This works (displays the image) in script and in the message box: >>>> put "<img src=" & "http://www.trumbull-ct.gov/images/BoyScouts.jpg" & >> ">" >>>> into tHTML >>>> >>>> set the htmlText of widget "finished_html_content" to tHTML >>>> >>>> >>>> This does not (Image not displayed) in script or the message box: >>>> put "<img src=" & >>>> >> "file:///Users/steve/Dropbox/ITB%20pubEngine/tempMedia/995786d6-4429-4821-8b21-8e811289e12c.jpg" >>>> & ">" into tHTML >>>> >>>> set the htmlText of widget "finished_html_content" to tHTML >>>> >>>> >>>> Sorry about bombarding the list! >>>> >>>> Thanks, >>>> >>>> Steve >>>> _______________________________________________ >>>> 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 >> >> >> >> _______________________________________________ >> 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 _______________________________________________ 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