Automation Professionals' Blob Server Module

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.

Modest documentation may be previewed here.

:grin:

{ I have not decided how to price this. Won't be much, if anything. I created it today, start to finish, in about four hours. }

31 Likes
View Images from Database
Perspective PDF Viewer without WebDev
Retrieve and Display a BLOB in Perspective
Access PDF in Perspective - From a File System
Converting blob to image
Image upload component
Perspective: Base64 Image into Table
PDF Viewer Reading PDF From Database?
New Feature: Audio Component
Perspective Audio component
Disable perspective image component cache
Use PDF from DB to view in PDF viewer in perspective using WebDev
Display BLOB data from MySQL to image on Vision window
Reporting Save File Action not executing and saving to the specified folder
PDF Viewer without Reporting Module
Basic question about Images and Image Paths
Help with pdf viewer
Open Uploaded File in Browser
Upload and select image from perspective client
PDF viewer perspective with document as bytes
IFrame with Image and Text in HTML
Convert Hex to Image in Ignition Perspective
Display image stored as a byte array in database
Upload file to an image component in perspective
Image from local machine in Image component
How to Get image from database and displayed in image viewer
Upload pictures to server, call pictures within perspective
Display Network image file in Perspective
SVG Importing Error
Perspective Report Viewer -- printing
[SOLVED] Splitting PDF (blob)
Create Folder and upload a file with minimal scripting
Question about displaying images in Perspective, sharing images through Ignition Web Server
Opinions on Report Handling and Sharing
SVG view in Perspective
Text message size exceeds maximum size, Message Too Big
Free Ignition Modules and Resources Wiki - Links and Details
Guidance on the Signature Component
PDF Image showing poor clarity after uploading inside PDFViewer
Free Ignition Modules and Resources Wiki - Links and Details
Perspective PDF Viewer to Display a object stored as Bytes in DB
How to query video from SQL Server into Perspective VideoPlayer component?
Dynamic image embedding and display from SQL Query using transform
Using Paintable Canvas to get Blob image from MySQL
Perspective PDF Viewer Failed to load PDF file
Informations about Cognex cameras
Report Module Timeout
Entry boxes transform to PDF
File Upload Save To Local Disk
Fallback Image Path
[IGN-4270] Perspective - PDF Viewer Zoom
Accessing PDF's from a Database Table in Perspective
How to : Create chat message and picture upload on Perspective
Bulk Image Mapping in Vision Table
Ignition Perspective - impossibile to display image
Ignition Perspective - impossibile to display image
Ignition Perspective - impossibile to display image
Image display with URL on Perspective View
File retrieval from database using WebDev Module
File retrieval from database using WebDev Module
Images in Table
Operations Help Documentation
Download files stored in database using ignition Perspective
How to view the in-Ignition reports using byte array instead of image path?
Ignition gateway as forward proxy / relay
How to show JPG image stored on Apache Tomcat in Perspective view
SQLite Image Upload and Retrieval
Question about image management in Designer

Note: the parameter check rejects any named query that uses a QueryString parameter. Not safe for this usage.

4 Likes

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. (: }

Ah, well. It was not actually running off Perspective security. It was looking at the gateway web interface’s user. /:

Another beta here.

(I had to make it depend on Perspective to access the correct session info–this is not going to be a general purpose tool.)

{ Edited to remove stale link. Keep scrolling down. (: }

Hi, Would this work for Vision too?

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.

Hey,

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?

Thanks

This topic may be of some help:

1 Like

I decided to make this a free module, like the venerable Simulation Aids.

For Ignition v8.1 only, Release v1.0.0.

FWIW, dropping the license checks reduced this to a total of 352 lines of java. It didn’t feel right charging for such a tiny thing.

As with Simulation Aids, support is here on the forum or by email, on an as-available basis.

15 Likes

If anyone is disappointed that they can’t pay for this module, there’s always the tip jar link in my profile. :grin:

7 Likes

On the one hand...

On the other hand...

10 Likes

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.

Thanks for a free module that solves a class of problems. I was just needing this exact sort of thing!

1 Like

Paul?

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. }

3 Likes

:raised_hands:

Doing Gods work. I got some people at my job using Simulation Aids and I think it has opened the doors.

Am I setting this up correctly?
image

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.

Looks good.

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.

I think I have this set up correctly but the image is not showing up and the logs are showing the following messages.
image

Any ideas?

uri is to large, seems like to much is send over the http request

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.)