- Getting Started
- Browser Support
- Languages Support
- Shortcuts
- Activation
- Examples
- Customize the Editor
- Use-cases
- Plugins
- APIs
- Development Frameworks
- Server Integrations
- Server SDKs
- Migration Guides
- Changelog
- Tutorials
Python File Server Delete
How it works
- Code intercepts the file removed from the editor.
- Removing a file sends to the server a request to delete the file from disk.
- Once the request reaches the server, it deletes the file.
Intercept file being removed
Removing a file from the editor triggers two events:froalaEditor.file.beforeRemove
and froalaEditor.file.removed
. You can use either of them to delete the file from the server, however it is recomended to use the second one, since at that point you make sure that the file was removed from the editable area.
Send request to the server
There is no built-in feature that makes the request to the server, however you can use an AJAX request.
<script>
// Catch the file being removed.
var editor = new FroalaEditor('selector');
editor.opts.events['file.unlink'] = function (e, editor, file) {
$.ajax({
// Request method.
method: 'POST',
// Request URL.
url: '/delete_file',
// Request params.
data: {
src: file.getAttribute('href')
}
})
.done (function (data) {
console.log ('File was deleted');
})
.fail (function (err) {
console.log ('File delete problem: ' + JSON.stringify(err));
})
}
</script>
Delete the file
The server implementation is responsible for receiving the request and handling it appropriately. The code on the previous step, makes the file path available in the body of the request: request.body.src
. The File.delete
method from the Python SDK expects the path of the file to remove from disk.
Note: The path of the file is relative to the root of your application.
File.delete(src)
Complete Example
<script>
// Catch the file being removed.
var editor = new FroalaEditor('selector');
editor.opts.events['file.unlink'] = function (e, editor, file) {
$.ajax({
// Request method.
method: 'POST',
// Request URL.
url: '/delete_file',
// Request params.
data: {
src: file.getAttribute('href')
}
})
.done (function (data) {
console.log ('File was deleted');
})
.fail (function (err) {
console.log ('File delete problem: ' + JSON.stringify(err));
})
}
</script>
# Django
from django.http import HttpResponse
import json
from froala_editor import File
def delete_file(request):
src = request.POST.get('src', '')
try:
File.delete(src)
return HttpResponse('ok', content_type="application/json")
except:
raise Exception('Could not delete file')
# Flask
from flask import request
import json
from froala_editor import File
@app.route('/delete_file', methods=['POST'])
def delete_file():
src = request.form.get('src')
try:
File.delete(src)
return json.dumps('ok')
except:
raise Exception('Could not delete file')
# Pyramid
from pyramid.response import Response
import json
from froala_editor import File
def delete_file(request):
src = request.POST.get('src')
try:
File.delete(src)
return Response(json.dumps('ok'))
except:
raise Exception('Could not delete file')
Do you think we can improve this article? Let us know.