Workflow HttpService DownloadFile Method

At the moment if we want to use a workflow to download a file and to store on the file system, we need to use HttpService.SendRequest and FileSystemService.StoreBlob. This also means that the downloaded file has to be stored in memory between the steps making the implementation suboptimal especially for large files.

Workaround to use a sort of batch file to execute it doesn’t provide enough information in case of failure.

Thus having a method to directly save downloaded file to the file system (preferably streamed version) would be beneficial.

Long time ago I had an idea to create a new kind of model into ORIGAM – the Pipelines. They would allow to chain different functions and work in a streamed way. I think that would be the right solution to your problem instead of inventing different all-in-one functions. But I did not finish it and dumped it.

Guess what, a few years after Microsoft actually came with something like this built into .net framework. I think we could look at this and see if we could build a model and a set of functions that would do data processing based on pipes.

This looks nice, but it would mean to introduce a new feature to “connect the pipes”, which seems to be a lot of work compared to an implementation of a single function.

There are multiple vectors for receiving files. From a transformation (remember big CSV files), from a report, from an HTTP request, as a REST API response… Introducing too many specialized functions is confusing for the developer because they have to remember each one. Providing a framework consisting of simple building blocks would work better.