today a customer ask me to move in Ignition an old custom application (c#).
The application consists of:
n-desktop applications running each one in a dedicated PC locally to each plant: the application receive some trigger from automation and capture/organize some photos and tags useful for future quality control checks. Photos are store on a remote server folder and tags/path are store on DB
1-desktop application that search photos by tags (on db) and show them on screen (load from file system path)
My design questions are:
Capture photo client: i presume that that job can be done by the Ignition Gateway. But whats happens if the “company network” is in fault for a while? in old application when the company network was missing the client stores everything locally and publishes them when the connection is restored
Search/Show photo client: i know that to show documents/photos shared on file system is not possible using perspective (for browser security reason). If the customer doesn’t want to buy VISION license and it want a PERSPECTIVE client, which is the best solution to store/show pictures? It seems that best solution is using WebDev module.
Only Vision can run local code with filesystem access. Vision has limited ability to run while disconnected. You may want a stripped-down full gateway to run the persistent tasks per site.
For delivering photos to Perspective clients, you might be interested in my free Blob Server module.
@pturmel, I installed your module and i’m reading your docs.
I need to load more than one photos at a time and i doesn’t understand how to show “blob” items in perspective. I was thinking about showing photos using a simple table component…
Your project gave me an idea: I’ve created a simple Store Procedure that upload photos from FileSystem in blob format and return as a simple sql table.
So, don’t try to include the blob data in the query for the table. But do include the primary key you use. Make that column use view to render each row, and in that view, have an image component. For that image component, set its url to the blob server path with the key as the trailing parameter.
I’ve already try to change the content type. I think that the main problem is the “base64 string” that i’m creating in SQL and the size in bytes of images…
The “base64-string” of a my “jpg” image (bigger than 2Mb) starts with: “/9j/4Q/+RXhpZgAATU0AKgAAAAgA…” and the image control shows nothing.
Converting my image (using a conversion software) to jpeg the “base64-string” starts with: “/9j/4AAQSkZJRgABAQEASABIAAD/4QiKRXhpZgAATU0AKgAAAAgA…” and the image control shows only a thin slice of image.
I download from internet a casual “jpg” (bigger than 1Mb) and its “base64-string” starts with: “/9j/4AAQSkZJRgABAQEASABIAAD/4gIcSUNDX1B…” and the image control shows only a thin slice of image.
I download from internet a casual “jpg” (smaller than 1Mb) and its “base64-string” starts with: “/9j/4AAQSkZJRgABAQEBLAEsAAD/4QBoRXhpZg…” and the image control shows correctly the image.