Skip to content

Python SDK File Reference

upload (req, fileRoute, options)

Returns: Dictionary

Method used to upload file to the specified location on disk.

Parameters:


  • req

    The Python SDK contains 3 adapters (Django, Flask and Pyramid) and you can create your custom adapter by implementing BaseAdapter class:

    # Django adapter example.
    
    from froala_editor import BaseAdapter
    
    class DjangoAdapter(BaseAdapter):
    """
    Django Adapter: Check BaseAdapter to see what methods description.
    """
    
    def checkFile(self, fieldname):
      if fieldname not in self.request.FILES:
        raise Exception("File does not exist.")
    
    def getFilename(self, fieldname):
      self.checkFile(fieldname)
      return self.request.FILES[fieldname].name
    
    def getMimetype(self, fieldname):
      self.checkFile(fieldname)
      return self.request.FILES[fieldname].content_type
    
    def saveFile(self, fieldname, fullNamePath):
      self.checkFile(fieldname)
    
      with open(fullNamePath, 'wb+') as destination:
        for chunk in self.request.FILES[fieldname].chunks():
            destination.write(chunk)
    
    You should override all methods from BaseAdapter

    Type: Request Object that implements BaseAdapter interface.

  • fileRoute

    The server route where the image will be uploaded. This route must be public to be accessed by the editor.

    Type: String

  • options

    This parameter is optional. It can be used to pass custom options for the file upload.

    Type: Dictionary


options parameter:

  • fieldname

    The field name from the request object.

    Type:String
    Default:
    "file"
  • validation

    A dictionary or a function used to validate the uploaded image. The dictionary specifies the allowed file extensions through allowedExts and the allowed mime types through allowedMimeTypes. The function should be invoked with: filePath and mimetype.

    Type:Dictionary or Function
    Default:
    {
      'allowedExts': ['txt', 'pdf', 'doc'],
      'allowedMimeTypes': ['text/plain', 'application/msword', 'application/x-pdf', 'application/pdf']
    }
    

Response

If the upload is completed successfully, the method returns a dictionary with the absolute path to the uploaded file. If an error occurs, the method throws an exception.

try:
  response = File.upload(CustomAdapter(request), '/public/')
except Exception:
  response = {'error': str(sys.exc_info()[1])}
return HttpResponse(json.dumps(response), content_type="application/json")

delete (src)

Method used to delete a file from disk. Throws an exception if an error occurs.

Parameters:


  • src

    The file path available in the body of the request under src key.

    Type: String