Automation Professionals is pleased to announce an alpha release of its new Blob Server Module.
Available only for Ignition v8.1, here.
The Blob Server Module provides a simple way to deliver images, PDF files, or other binary content from a database to your Perspective clients or other web applications. Without needing the WebDev module. All you need is a Named Query that has appropriate security settings and returns a single row with two columns: Content, and ContentType.
More percolation yesterday and this morning. Now rejects execution of Update queries. (Duh!)
Also caches any rejection based on lack of the correct columns, so attempts to DoS your server by calling inappropriate queries will be short-circuited.
New module file, for Ignition v8.1 only, here. Prior file removed.
Docs updated in place.
Iâll call this one a beta. Iâd appreciate reports on any failure to honor security restrictions.
{ Edited to remove stale link. Keep scrolling down. (: }
No, but it isnât necessary. Vision can directly call a named query and pass the resulting raw bytes to the desired front-end component. (PDF Viewer, Paintable Canvas, etc.)
Can even be the same named queries defined for the Blob Server.
That sounds great, in my case the images are already saved as blobs into a DB. Do you know where I can find guidance on how to pass that data into a paintable canvas? I can create a DB query to get to the cell containing the blob data, for example via query tag of type Dataset, but what then? How do I pass the âraw bytesâ to the canvas?
Maybe our friends at IA could incorporate this in the main code (Paul could you license it to them?). My IT department gets all frustrated when they hear the WebDev module. What you are not using MS tools to develop a website? I really want to run IIS for my backend with ASP.NET.
Like with Simulation Aids, I release things for free as marketing for my services and skill set. And to break down resistance to installing my 3rd-party modules in general.
So, no, not at this time.
{ Not that IA can't replicate it themselves in a trice. But they generally don't stomp on their developers' products. }
Where would I paste this URL into the application to display on an Image component? In the HTTP binding? Itâs not liking that setup for me. I feel I may be missing something.
Include the image id in your table data. In the cell view that will be configured for that column, that id will be passed as params.value. Bind props.source of the image component in that view to an expression that assembles the complete URL with that ID.
Then you are obviously not generating a simple URL with an appended ID value. Are you appending the base64 instead? (You donât need that column in your table dataset at all when you are going to have the cell viewsâ image component fetch the blob.)