# Using pturmel's BLOB module and the Perspective app on Android

**URL:** <https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [May 7, 2024, 1:37pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024 "2024-05-07T13:37:12Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 7, 2024, 1:37pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/1 "2024-05-07T13:37:12Z")

</div>

Morning, I am using pturmel's Blob Module (works wonderfully...I'll be sending a tip!!) Thank you, sir.

I have this set up and it works well with PDF's and PNG's using the file upload and image or PDF viewer from the developer or a Windows web client. PDF's work on an Android tablet but PNG's do not render on the tablet. PDF's display as expected.

I can confirm that the tablet can capture images from the tablet's camera (hoorah!!) so that if I take a picture with the tablet I can render it on my desktop machine.

Does anyone have an idea on how to correct this? The capability to display PNG blobs on the tablet would be quite useful.

Any and all help is much appreciated. Thanks!!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 7, 2024, 1:50pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/2 "2024-05-07T13:50:44Z")

</div>

What content type are you using?

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 7, 2024, 1:58pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/3 "2024-05-07T13:58:51Z")

</div>

Morning, Phil. Here's a clip of the query:

 ![java_8dgvbSEpqs](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/6/36d35a22c1109e16a6371c4ca7a9a94a17786047.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 7, 2024, 2:00pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/4 "2024-05-07T14:00:57Z")

</div>

Well, PNG files need `image/png`, not `image/jpeg`.

You need another column in your images table to hold the content type from when you upload them.

(Your column name `ContentType` almost certainly needs double quotes, not single quotes. Column names are identifiers, not values.)

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 7, 2024, 2:24pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/5 "2024-05-07T14:24:36Z")

</div>

Thanks! Sorry, I was using jpeg's and not png's. Not enough coffee yet, I guess.

Your suggestion to add ContentType to the DB is a good one, and I've implemented it. Here's another couple of screen shots:

 ![aqtv11_x64_fvTgaAiJ2W](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/1/8166d1f5e850c294b7bbe3dfd8256cc385ba4469.png)

 ![java_G8JvxDFUWe](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/e/7ed5bd7997e79ecf5f8110679537b894dc6a4bca.png)

Works in the developer and a Windows Chrome web session, but does not render on Android.

Thanks you again!!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 7, 2024, 2:26pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/6 "2024-05-07T14:26:33Z")

</div>

Maybe an Android version issue?

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 7, 2024, 2:36pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/7 "2024-05-07T14:36:05Z")

</div>

I wondered that as well. Weird, though. Even if I try using the tablet and viewing from Chrome instead of the Perspective app....the pictures won't render.

I'm no Android expert and I expect you aren't either, but I'll give some details of the tablet in case anyone else has some experience with this.

Samsung Galaxy Tab S6 (don't laugh...it's for testing!!) with Android V 14 and One UI version 6. Interestingly, I just tried the Perspective app and Safari on a IPhone and the picture still doesn't render. Grrrrr!!!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 7, 2024, 3:14pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/8 "2024-05-07T15:14:28Z")

</div>

IT issue? Are the mobile devices on a different VLAN or something inside a corporate environment? Weird that they'd be able to access the rest of the project fine, but 🤷

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 7, 2024, 3:21pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/9 "2024-05-07T15:21:14Z")

</div>

Ya beat me to it by a minute or two!! This is an IT issue....the DNS was not resolving. If I point the project at the IP rather than server name it works.

Hmm...time for another ticket. Probably some 'security enhancment' I wasn't aware of...

Thank you both. This could be really handy in this particular application...QC Inspection reporting!!!

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 15, 2024, 1:11pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/10 "2024-05-15T13:11:51Z")

</div>

Since ya'll have been so helpful, here's another question (not specific to Android).

I'm currently using this module to upload/display a single image of product defects. On one page I have a Image Viewer and a file upload. I'd like the image to refresh after an upload (say, an updated pic).

On the file upload button onFileReceived event I have some code which checks if a current record id exists, and if so deletes it and insert a new blob record. This all works as observed in the database.

The image viewer is named image, and the last line of my onFileReceived script I have this: `self.refreshBinding(self.parent.parent.parent.getChild("FlexContainerImage").getChild("Image").props.source)`

The image does not refresh. What the heck am I doing wrong?

Thanks again, Phil. This module will add a lot to our projects!!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 15, 2024, 1:27pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/11 "2024-05-15T13:27:46Z")

</div>

> [@jkelleyus](#):
>
> I doing wrong?

You are re-using record IDs. Don't. It breaks the caching needed for performance across the entire stack (in Ignition's NQ system, in your network, and in your browser).

Instead, insert new images with new IDs. Prune old IDs as needed. Update references to the old ID to point at the new ID. Then tell your image component to refresh its URL to the new ID.

---

<div class="post-metadata">

**Author:** ![jkelleyus](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@jkelleyus](https://forum.inductiveautomation.com/u/jkelleyus)\
**Post date:** [May 15, 2024, 7:37pm UTC](https://forum.inductiveautomation.com/t/using-pturmels-blob-module-and-the-perspective-app-on-android/90024/12 "2024-05-15T19:37:30Z")

</div>

Thank you once again...duh!!! Sometimes you stare at a problem to long at it becomes 'invisible'.

I'll get to work on this... I need to clean up this project for production anyhow!!
