- Back to Docs
- Install and Configure
- Image
- Server Upload
- Server Delete
- S3 Upload
- Resize
- Validation
- Image Manager
- Simple Server
- File
- Server Upload
- Server Delete
- S3 Upload
- Validation
- References
- Image
- File
- S3
Python Image Resize
How it works
- The image gets uploaded to your server.
- When the image is stored to the disk on server side, it is also resized.
Image Upload
In the Server Upload article we explain the steps to upload image on your server. After you insert an image in the rich text editor, you can resize it, but this only changes the width and height displayed in the browser, and not the physical size of the image. That should be done on server side.
Resize Image
The WYSIWYG editor's Python SDK comes with the possibility to resize the image when it is being stored on the disk. It is using the Python Wand-Py library transform method, therefore all the options available for it can be used.
options = {
# Find more about resize parameter format on http://www.imagemagick.org/script/command-line-processing.php#geometry
'resize': '300x300'
}
try:
response = Image.upload(CustomAdapter(request), '/public/', options)
except Exception:
response = {'error': str(sys.exc_info()[1])}
return json.dumps(response)
Complete Example
<script>
new FroalaEditor('.selector', {
// Set the image upload URL.
imageUploadURL: '/upload_image_resize',
imageUploadParams: {
id: 'my_editor'
}
})
</script>
# Django
from django.http import HttpResponse
import json
from froala_editor import Image
from froala_editor import DjangoAdapter
def upload_image_resize(request):
options = {
'resize': '300x300'
}
try:
response = Image.upload(DjangoAdapter(request), '/public/', options)
except Exception:
response = {'error': str(sys.exc_info()[1])}
return HttpResponse(json.dumps(response), content_type="application/json")
# Flask
from flask import request
import json
from froala_editor import Image
from froala_editor import FlaskAdapter
@app.route('/upload_image_resize', methods=['POST'])
def upload_image_resize():
options = {
'resize': '300x300'
}
try:
response = Image.upload(FlaskAdapter(request), '/public/', options)
except Exception:
response = {'error': str(sys.exc_info()[1])}
return json.dumps(response)
# Pyramid
from pyramid.response import Response
import json
from froala_editor import Image
from froala_editor import PyramidAdapter
def upload_image_resize(request):
options = {
'resize': '300x300'
}
try:
response = Image.upload(PyramidAdapter(request), '/public/', options)
except Exception:
response = {'error': str(sys.exc_info()[1])}
return Response(json.dumps(response))