found above topic because i have the same issue.
Is there any option to passthrough sas-token through a parameter in the task?
Security wise it's not an option to store the token in a table or hardcoded in the report
found above topic because i have the same issue.
Is there any option to passthrough sas-token through a parameter in the task?
Security wise it's not an option to store the token in a table or hardcoded in the report
Good day
If you are asking if there is an option specifically purposed for the passing the sas-token as a parameter, specifically, then the answer is no.
If you are asking if you can pass the sas-token as a parameter to the report, then the answer is yes, but I am not completely convinced that this is what you mean.
In your post you mention not storing the tokens for security reasons; there are encryption options that you could explore to make the storing of sensitive information more secure.
Have you managed to come up with a solution since the time of posting your question? If not, can you share some specifics around what you are trying to achieve
Nathan,
We didnt come to a solution.
i want to add a image from azure blob storage on a devexpress report like the topic above and the ideal solution should be that thinkwise should support this like they do when showing the image in universal
Hi Theo,
In the topic you mentioned, Rony was able to add the image to his report using the desired method. I can try and help with that if you please. Using a report parameter, I can help you set up the SAS token pass-through to the report so the image can be downloaded.
So we can go that route and allow it to work for you, or we can try a different methods below:
You can always pass thorugh the image entirely via a report parameter. This allows you to not have to worry about any authentication, URLs and such in the report itself. Easiest way is using Base64. Described it here a couple years ago: Emails and (devexpress) reports with "embedded" images | Thinkwise Community
If you wanted to use the Indicium API to add an image, it this seems to be impossible using Basic authentication: XtraReport: PictureBox ImageUrl with basic http authentication does not work | DevExpress Support
So that leaves us with simply only a URL to work with, thus if any authentication is needed, the URL needs to contain the authentication. Luckily there is the Public API you could make use of. With the Public API, you are able to expose a role to be accessed by anyone that knows the API endpoint. So, if the image is not sensitive information, you can call the Indicium endpoint with public/ in the URL to obtain the image from a particular column, like this:
Let me know what is the preferred way to continue. I would opt for the Base64 option if the image can be obtained prior to generating the report.
mark,
i have a url to azure blob storage, how can i add this in the picture box without using the sas token?
Hi Theo,
Without the SAS token, it could only work if the URL is freely accessible by anyone. But you could opt for the Base64 solution I mentioned earlier.
Prior to generating the report, you can use the Read file process action to obtain the image data in varbinary format. Once you have that data, you can encode it to a Base64 string stored in a variable of datatype varchar. Then link that variable, that holds the Base64, to a Report parameter with the same datatype. Mirror the existence of that report parameter in your DevExpress report. Use the Report parameter like mentioned here: Emails and (devexpress) reports with "embedded" images | Thinkwise Community
That eliminates the need for a SAS token as the authentication is done through Indicium itself.
Example how to encode the varbinary file data in Base64:
declare @binarydata varbinary(max) = 0x5468696e6b77697365 -- example binary data ('Thinkwise' as ascii bytes)
-- Encode to base64
select cast('' as xml).value('xs:base64Binary(sql:variable("@binarydata"))', 'VARCHAR(max)')
Read file: output file data into @binarydata → Using the above code to fill a new varchar variable → Link that variable to a Report parameter.
That Report parameter can then be bound/mirrored in the DevExpress report. Place a PictureBox in the report, use the parameter as the image source like "?base64string” where base64string is the parameter name in my case. When you preview your report, the image should be visible.
Hope this helps!
Mark,
ok so if i understand this correct, we first fetch the blob in thinkwise with the readfile (proces flow?), convert it to base64 and link it to parameter in the report
Yes, that exactly!
Hi
Were you able to solve your problem thanks to one of the replies provided? In that case you can mark that reply as Best answer. If you require further assistance, please let us know.
create procesflow, add parameter to report and provided the base64string.
how can i preview this?
this is working ok, if i provide base64 of image then it shows in the picture box.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.