Comments (5)
Hi @moshthepitt
the files/images schema will come in 10.x.x version (should be released somehwere soon)
in meanwhile you can use @rjLelis suggestion :
image = request.FILES['image']
(where image is actually DjangoFile that your can read/save-to-model
after release image will be basically same Django File object... the parameters will be something like this:
@api.post('/images')
def upload_image(request, image: File):
...
from django-ninja.
Additionally in your example you've just typed a string to represent the image. Does that mean that you will ask the user to somehow convert the image to a string (maybe base64) first?
I actually sent the file with Content-Type header set to multipart/form-data. With that, I can manipulate the file attributes.
@api.post('/image')
def post_image(request):
image = request.FILES['image']
return {
'name': image.name,
'size': image.size,
}
from django-ninja.
I think you just do like you would in normal Django:
from django.contrib import admin
from django.urls import path
from ninja import NinjaAPI
api = NinjaAPI()
@api.post('/image')
def post_image(request):
image = request.FILES['image']
return {'message': image.name}
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', api.urls)
]
from django-ninja.
Thanks @rjLelis - but how do you provide a type hint such that OpenAPI renders a file upload button?
Additionally in your example you've just typed a string to represent the image. Does that mean that you will ask the user to somehow convert the image to a string (maybe base64) first?
It would be nice to have an official example in the docs - and I'd be happy to send In a PR once it's clear to me how to handle this.
from django-ninja.
Thank you @rjLelis @vitalik - I am going to close this.
from django-ninja.
Related Issues (20)
- How do you use aliases with nested objects
- [BUG] HOT 1
- [BUG] ModelSchema does not mark field as required if it has a default value
- [BUG] Swagger uses wrong endpoints for dynamically generated routers HOT 2
- Async reverse relationship HOT 4
- [BUG] Handler functions with same path but different http method can't use different path variable names
- [BUG] cdn error. HOT 3
- [BUG] paginate decorator with custom HTTP status `response={200: ..., 201: ...}` doesn't work HOT 3
- [BUG] Bearer authentication example from documentation doesn't work HOT 1
- `get_openapi_schema` outputs types using `anyOf` style - doesn't work with the Swift OpenAPI generator
- Error when trying to do django runserver -> pydantic.errors.PydanticSchemaGenerationError HOT 1
- [BUG] Using `pydantic.Json[SomeModel]` in a query param fails
- [BUG] Async Error Handlers Return Unawaited Coroutines Instead of HttpResponse in Django Ninja
- Dependency Injection support with `anydi`
- [BUG] `models.URLField` serialized & validated as `str`
- Exceptions log level HOT 1
- [BUG] CustomParser request header issue when sending json and file
- [BUG] `ModelSchema` produces `id > (integer | null)` openapi HOT 1
- How to set query param for test.
- When are we getting a new release?
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 django-ninja.