Skip to main content

How to Transfer Files through API using Base64 Stream to Business Central

Introduction:

Transferring data from Business Central Tables through API is one of the latest version of transferring data from or to Business Central using the API Page Objects or  Web Services.
Well, it gets a little difficult to transfer file blobs using the Media.ReadLinks and Media.EditLinks JSON field.


Pre-requisite:
  • Understanding of Business Central API
  • Understanding how Blobs are accessible to Business Central
  • AL Language Extension
  • VS Code
  • Understanding of JSON Data Types
References:

Solution:

1. Using Business Central API to Pass Data from  BLOB to Base64 String:

Whenever you have a file in a BLOB field and want to transfer as a Base 64 string to API - POST Request.

Convert a File(BLOB) To Base64 String



2. Reading the API into Business Central and converting the Base64 String to BLOB:
Whenever there is a call to API and it returns a response to Business Central in the following form

{
        "id":"5678",
        "base64":"T2xpc3Rlcg=="
}

If you realize, you get a JSON Array Object. You need to separate the JSON Array into individual JSON Objects and process each of the File Contents using the FOR LOOP.
In this case, I will simply write the code to just read the values from the array and convert it to a BLOB.
Convert Base64 String to Stream 
Get Token Value from JSON Object
Get Token Value from JSON Object



I shall create a separate blog on explaining the JSON Array Objects and how you can integrate multiple APIs to Business Central using the JSON Array Objects.

Conclusion:
This has been a blog after a long time.
I hope this helps and if you have any suggestions, feedback or have any special requests feel free to write in the comments or email me at olisterr@outlook.com


Comments

Popular posts from this blog

Setting up OAuth Authentication for Business Central Web Services / APIs

Introduction: After upgrading Business Central to version 17 (Wave2 2020), I found that there was an error telling me that WebService Key is going to be deprecated soon. Web Service Access Key is deprecated. Hence, I decided to explore and probably make it easier through this blog. Pre- requisites : Admin Access to Office 365 Admin Access to Azure Demonstration: 1. App Registration on Azure Portal: To enable OAuth authentication for any apps in Azure Active Directory, you will need to perform App Registration and set up the permissions and security details. i.) Register the App: Search for 'App Registration' on the Azure Portal. Click on New Registration Type in the App Names, Account Types and Redirect URI. Registering Application ii.) Setup API Permissions: Go to API Permissions > Add Permissions > Business Central App > Select Delegated Permissions > Select Other Permissions and Financials > Add Permissions Button. Setup API Permissions iii.) Setup Client Secr

How to Upgrade Data from Microsoft Dynamics NAV to Microsoft Dynamics Business Central On Premise - Part 2

 Introduction: Now that the first step of the problem preprocessing of the NAV Database to make it ready to be migrated to BC is done(refer Part 1 ), we can now proceed further with connecting the database in Business Central On-Premise. Pre- requisites : Microsoft Dynamics 365 Business Central Microsoft Dynamics for NAV Microsoft SQL Server Management Studio (SSMS) Powershell ISE Understand NAV to BC Upgrade Considerations -  Click here Understand Upgrade Path -  Click here Books & References: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-considerations#online https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-paths https://www.sauravdhyani.com/2018/10/msdyn365bc-data-upgrade-to-microsoft.html https://olisterr.blogspot.com/2022/03/how-to-upgrade-data-from-microsoft.html https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-permissions Demonstration: 1. Install Business

Record Links in Microsoft Dynamics NAV(NAVISION ERP)

Introduction: In Microsoft Dynamics NAV(NAVISION ERP), there is a feature on Financial Documents called Record Links. Record Links are used to copy multiple URL links, Texts on the documents so that it can be used for reference later. The best part of Record Links is that, these can be added through Document and post it. After posting these the Record Links are copied to G/L, Subledger and Posted Documents as well. Pre- requisites : Microsoft Dynamics NAV Books & References: https://forum.mibuso.com/discussion/41101/how-to-copy-notes-stored-in-record-links-table Demonstration: 1. What is Record Links: Record Links is a feature to add links and texts on Documents. You will need to click on Links Actions on the page. You will get the Link insertion Window, where as below. Records Link Insertion After the Link is inserted, you will get a view where you can open the link. Viewing Record Links 2. How Record Links work: Record Links is stored in Sys