Automatically generate images URL

Hello there,

I have a column on my financial app for receipt images. On the excel sheet the data on that column is shown as the file name (generated by appsheet) and I would prefer if it was the link.

From all I have read, I created a new “image” type column and on “Auto Compute” there is a field called “Spreadsheet formula” and that is where I have been trying to creat a formula for that.
The table is in dropbox and that is also where the images taken by the app end up as well.
I would like some help to learn how to get that formula right, I am doing it based on the sample app called “images in sheets” but I think I am on the wrong path.

Thank you!

With the normal column it won’t work when you are adding the record. If you open and save it, the link will be correct.

=CONCATENATE(“https://www.appsheet.com/template/gettablefileurl?appName=",“AppName-AccountID”,"&tableName=",“TableName”,"&fileName=”,[ImageColumn])

If you add this into the virtual column and the column type is URL, it will generate the link.

4 Likes

Aleksi, you might think about “pin” your answer to show up on the top, as many people asking for this quite a lot. :smile:

Better:

CONCATENATE(
  "https://www.appsheet.com/template/gettablefileurl?appName=",
  ENCODEURL(“AppName-AccountID”),
  "&tableName=",
  ENCODEURL(“TableName”),
  "&fileName=",
  ENCODEURL([ImageColumn])
)
4 Likes

You are a star, as always.
Now it is a time for me to go to bed.

So soon? :slight_smile:

1 Like

Exactly now.

Thanks @Aleksi, @Steve and @tsuji_koichi

I managed to make it work on the virtual column. On the regular column, it creates the link but the link is broken as @Aleksi had already said it was going to happen. I oepend and saved the excel sheet and that did nothing to the link, it still give sme an error, is it really the file that was supposed to be open and saved?

Question 2: Is there anyway that it would generate a dropbox link instead?

I believe that’s (Dropbox link) not possible through your app.

If you create Appsheet account using your dropbox account IDs, then it could be possible

I believe @Cabelo is asking a link like https://dl.dropboxusercontent.com/s/72vf8e2f0qx6vw8/Milan4.jpg :slight_smile:

Yes yes yes @Aleksi
How did you do that?

Unfortunately it was just a sample what you are looking for which is not possible because it’s generated when the image is downloaded.

@Aleksi thanks man! The reality of what the link really says is just “cosmetics” right? Will the appsheet link for the image be active for as long as the image exists there? Will anyone who has that link have access to the image despite of having a appsheet account or not?

Correct. If you want to show that link, you would need to open your Dropbox account and copy & paste that unique link to your record. Then your user can use that link as long as you have that link in your record. If you manually delete that image, the link will generate an error. The ink is not controlled by the app itself, meaning you control the image from your Dropbox account because it’s a direct link to your image.

1 Like

Thanks @Aleksi.
And if I use the appsheet link, can I share the link with anyone who has access to it via the table source? Does it expire?

If you don’t delete the image, link doesn’t expire.

1 Like

I’m trying to apply this technique to images linked from a folder path from a one drive account but it doesn’t seem to be working.

But, I noticed that if you open an image and right click and “Open Image in New Tab”, the image opens with a a URL of:

https://www.appsheet.com/get/?i=YXBwTmFtZT1Db250ZW50Q3JlYXRpb24tMTI4MjgxMiZ0YWJsZU5hbWU9UG9zdHMmZmlsZU5hbWU9JTJGYXBwc2hlZXRfSW1hZ2VzJTJGQWxsJTIwSW1hZ2VzJTJGOTk3OS5qcGcmYXBwVmVyc2lvbj0xLjAwMTgzNSZzaWduYXR1cmU9MDBlNWQ5ZjE2MmYyYzZkZWI3ZGY3NThmZDM2NjU5YzcyZDM1OGM1YzViNDdlYjFmM2Y5NTJhZTk5YzM3ZmFkYWUxY2IwZThiNzgyZGRlZTZkNmNkOTFjOGJiMjA1ZTM0

How is this URL generated? Is there a way to make a formula that generates this URL?

@Nick_Neumann
Hej, i am not expert, but i accidentaly got it to work by using:
ENCODEURL(SUBSTITUTE([Column that has image name]; " "; “%20”)) .

The content of the column has to be the pathFolderInGoogleDrive/imageName as example:
People_Images/person1.png