Comments (5)
Ok, so I have found out that the generated functions return type is Task<IActionResult>
and from experimenting, I have been able to return a FileContentResult
from my command/handler which returns the base64 encoded file content.
I have not been able to successfully return a FileStreamResult
as I get the exception below and cannot determine if this is supported or not
Newtonsoft.Json: Error getting value from 'ReadTimeout' on 'System.IO.FileStream'. System.Private.CoreLib: Timeouts are not supported on this stream.
from functionmonkey.
Have you got some sample code I could use to investigate?
from functionmonkey.
Yeah I was basically creating an in-memory Zip file and wanting to return that from the function, the code snippet below should help you
using (var ms = new MemoryStream())
{
using (var archive = new ZipArchive(ms, ZipArchiveMode.Update, true))
{
// add entries to the zip file
if (archive.Entries.Count > 0)
{
archive.Dispose();
ms.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(ms, "application/pdf");
}
}
}
from functionmonkey.
Great thank you - I'll be doing some work on Function Monkey this weekend and I'll add this to that list: either a bug fix or a solution!
from functionmonkey.
Stumbled upon this myself.
To return file, you need to return it as FileContentResult
and handle it in your own response handler so that it doesn't automatically convert to Base64 string.
public Task<IActionResult> CreateResponse<TCommand, TResult>(TCommand command, TResult result)
{
if (result is FileContentResult fileContentResult)
{
IActionResult contentResult = new FileContentResult(fileContentResult.FileContents, fileContentResult.ContentType);
return Task.FromResult(contentResult);
}
return null;
}
There could be other ways, but this one works.
from functionmonkey.
Related Issues (20)
- CamelCaseJsonSerializer does not work for ExpandoObject
- HttpResponseHandler not used for BadParameterResponse in http.csharp.handlebars HOT 1
- Receive and add CancellationToken to DI to enable for graceful shutdowns HOT 1
- Compiling Azure Functions with NuGet package dependencies fails HOT 13
- Problems with StorageQueue in 4.0.56-beta4 HOT 2
- Event Grid Triggers
- Unable to upload a file
- HowTo BeforeServiceProviderBuild HOT 1
- Solution Structure
- Http Trigger: AuthorizationLevel.Anonymous runs ClaimsPrincipalAuthorization but it should be ignored HOT 3
- How to access Cookie (and QueryString) collection ?
- Future of Function Monkey HOT 10
- Compiler Build Error with Entity Framework Core HOT 4
- Add Validators via Assembly search not working HOT 2
- Primitives / Arrays in HTTP body
- Need a way to access full HttpContext HOT 2
- FunctionMonkey.Compiler can't be built
- Accessing request headers
- Azure App Configuration in Configuration.
- CosmosDB lease container appears inoperable
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from functionmonkey.