Thanks
how i can get your module?
@Francisco_Ochoa scroll up a few comments and you'll see the download link
where is the link> i didnt see it , if you can help me i will be very thankfully
It's literally 6 comments up from your post
Automation Professionals' Blob Server Module - 3rd Party Modules - Inductive Automation Forum
how its work? how can i install it?
Have you read this entire topic? And the documentation linked in the first comment? Do that first.
Quick link to comment #1:
I don't recognize that screenshot. (SSMS?)
Don't use SSMS for this.
Do you have blobs loaded into your database yet? If not, do that first.
Meanwhile, review all of the NQ videos in the university:
That's the "query builder" that's included in the Designer, which attempts to provide a graphical builder for SQL queries.
@Francisco_Ochoa drop out of that. It's worse than a crutch - it's a "mobility aid" that will actively cause you harm. The SQL involved to use Phil's module here is not complicated, and you'll be better off learning it properly.
Huh. Never noticed that. Wouldn't have used it if I had.
This will be a great tool if I can get it working, thanks for your contribution!
I'm hoping for some pointers. All I am able to get when testing the url in chrome is a broken image icon:
When I check the gateway logs (assuming I'm looking in the correct place, I'm still learning), I'm not seeing any info RE blob server except when I start/restart the module. There were also no messages in console of chrome. I feel I'm missing something simple...I've tried several different variations to column type, the INSERT statement, etc., to no avail.
Table T-SQL:
CREATE TABLE [dbo].[parts](
[PartNumber] [varchar](20) NOT NULL,
[image] [varbinary](max) NULL,
CONSTRAINT [PK_parts] PRIMARY KEY CLUSTERED
(
[PartNumber] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Test record INSERT T-SQL:
I don't currently have access to perform BULK operations, so I encoded a test image to base64 using Python and performed my insert like this (simple smiley image)
INSERT INTO [parts] (PartNumber,image) VALUES ('smile',CONVERT(varbinary(max),'data:image/png;base64,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'))
My NQ:
edit: I just noticed every run in testing produces random "Content" value
You should not be using CONVERT
when inserting images to the DB. Use a "prep" insert or named query where the image file bytes are passed in true binary format into the table. The SQL would look like:
INSERT INTO parts (PartNumber, image) VALUES (?, ?)
with the name and bytes supplied as parameters.
I was using an old Python script to encode images to base64, so when I attempted to INSERT
, SSMS suggested CONVERT
to turn that long piece of encoded text into a varbinary(max)
. I threw CONVERT
in there which satisfied the query, but was not the correct way to handle it as you pointed out. I had a feeling the INSERT
wasn't right but couldn't figure out why, makes sense now . Your "prep" comment confused me at first as I was only using SSMS for the INSERT
, but I got it now so thank you!
FYI, what I used to INSERT
image to table:
query = 'INSERT INTO parts (PartNumber,image) VALUES (?,?)'
partnum = 'smile'
picfile = system.file.readFileAsBytes('C:/temp/smile.png')
system.db.runPrepUpdate(query, [partnum,picfile], 'IGN_DB')
Iām trying to use the Blob Server Module ver 1.1.0 (b231421939) to retrieve a PDF from a Sql Server table and display it using a perspective link component. The Named query testing tool has no problem retrieving the PDF, but I cannot get any browser to retrieve the document.
Using numerous variants of this url only generates a 404 errorā¦
<correct gw designation here>
/system/blob/HelpPdfTest-T67/HelpPdfTest_2?file_id="Check Scale.pdf"
<correct gw designation here>
/system/blob/HelpPdfTest-T67/HelpPdfTest_2?file_id=Check#20Scale.pdf
<correct gw designation here>
/system/blob/HelpPdfTest-T67/HelpPdfTest_2?file_id=Check Scale.pdf
HTTP ERROR 404 Not Found
URI: | /system/blob/HelpPdfTest-T67/HelpPdfTest_2 |
---|---|
STATUS: | 404 |
MESSAGE: | Not Found |
There are no seemingly relevant messages in the gateway log.
Tried numerous things including ā¦
- Different gateways
- Different Browsers
- Different PDFs
- Different file ids (with and without spaces etc.)
- And just in caseā¦
- Using Integer ID
- Renaming each individual object one at a time
- etcā¦
Any ideas?
Encode spaces with %20
, not #20
. Might need to encode the hyphen in your project name. Do not include quotes around your string parameters.
(Use java.net.URLEncoder on each string parameter to ensure it is done correctly.)
Also, do you have permissions on the NQ?
Also, is the project a leaf project? And enabled?
Are you sure your DB is returning a BLOB column (you should not see string content when testing) ?
Thanks for the quick reply.
Yep. #20 was a brain fart. %20 does same. It doesn't seem to care about the space.
Nope. No permissions on the NQ (zone and role are "Any").
I'll check out URLEncoder shortly.
Test project is tiny, stand-alone, and enabled.
Not sure about blob. We tried both varchar(MAX) and varbinary(MAX) as column type. Maybe I need a bit of education here.
varchar is definitely wrong. varbinary should work. Don't cast it.
(Show your SQL)
CREATE TABLE [dbo].[FILLER_HELP_FILES_TEST](
[rec_id] [int] IDENTITY(1,1) NOT NULL,
[file_id] [varchar](50) NOT NULL,
[file_blob] [varchar](max) NOT NULL,
[id] [int] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
I'll switch back to varbinary in a little while.