Image version ? As well as text, user is able to add an image to their record
Images are all stored in the ASD in a folder called appImgs, thus, it is only necessary to store the image name in the record, because we know the path...you will need to use your preferred method to get image files into this folder
In this demo, I only use one filename each for the record exports, these are stored in a folder called appCsvs in the ASD
for the image version I dropped the use of listpickers and added another listview for image selection, and record display (update and delete too). Should have done this with the basic version...
See the Basic version description for other elements of the app
For both the Basic and Image versions I have used the ASD as the storage location for files. This is to ensure that the provided aia projects work in both companion and compiled modes. I have also done this to intially avoid having to use any extensions in the demo projects.
You will also note that I have not "handled" the files in any way for exporting to online resources or other locations/providers. This is on purpose, there are so many different ways to do this is very much depends on what any developer would want to do, taking either of these examples and expanding on them. That said here are some suggestions as to what a developer may want to do:
Take a single record (and its associated image) and bundle them into a zip file, then export...
Make a pdf from a saved record (and its image) and then export...
Simply export the two files using the web component...
Use base64 to convert the image to a string, then upload a record or records as data (note: I would only really suggest this when the receiving server/user requires base64...
Having generated a base64 string of an image, create a corresponding datauri that can be viewed in a browser...
Copy the record file and image file to Shared Storage for access by other apps (given they have the corresponding access) ...
Don't use tinydb at all, and store all your data and image resources online (mySql, Firebase etc.) and make use of the web component...
and many other methods...
If you want to use extensions to store or access files elsewhere on/off the device or to provide exporting features I could suggest:
base64Convertor or kio4Base64 for base64 conversions
webviewextra or customwebview for upload/download features through a webview
saf to provide access to files in shared storage that are not owned or created by the app
imageConvertor, to make thumbnail images of selected images to streamline listview display
kio4Pdf for creating a pdf from an arrangement
Here there is a cute routine using a scrollhandler by @Kevinkun to load the next 20 items in a listview, for long lists
tableviewer, compcreator, imagelistview, customlistpicker, if you want alternatives to the default listview/listpicker
a variety of dialog type extensions that can display data and images