Search code examples
acumatica

How can I obtain an attached file from a record using the C# REST web services


I'm trying to retrieve an attached file (or files) from a record in Acumatica. I'm using the following example:

https://help-2021r1.acumatica.com/Help?ScreenId=ShowWiki&pageid=b1bc82ee-ae6b-442a-a369-863d98f14630

I've attached a file to the demo inventory stock item "AACOMPUT01".

Most of the code runs as expected, but when it gets to the code line:

JArray jFiles = jItem.Value<JArray>("files");

it returns null for the jFiles JArray - as if there are no files attached. Is there something wrong with this example - or something I need to add to get it to work?

I'm using 2021 R1 (21.107.0023), and the endpoint is default 20.200.001...

Thanks...


Solution

  • Execute a GET request on StockItem endpoint with the expand files option: http://localhost/Acumatica/entity/Default/20.200.001/StockItem/AACOMPUT01?$expand=files

    This returns the files array:

    "files": [
        {
            "id": "bdb9534c-6aa9-41fa-a65d-3119e32b0fe5",
            "filename": "Stock Items (AACOMPUT01)\\AACOMPUT01.jpg",
            "href": "/Acumatica/entity/Default/20.200.001/files/bdb9534c-6aa9-41fa-a65d-3119e32b0fe5"
        }
    

    Use the href URL parameter value to issue the GET request which returns the file content: http://localhost/Acumatica/entity/Default/20.200.001/files/bdb9534c-6aa9-41fa-a65d-3119e32b0fe5

    enter image description here