Skip to main content

Logging middleware for Bobtail

Project description

Bobtail File Upload

Middleware to upload files for Bobtail

Install

pip install bobtail-upload

Usage

from bobtail_upload import BobtailUpload

app = Bobtail(routes=routes)

app.use(BobtailUpload(options={}))

Saving files

Bobtail Upload will attach the an Upload API to the request object There are 2 methods now available:

  • add(self, *, file_name: str, data: bytes, mimetype: str) -> None
  • save(self, *, table_name: str = None, pk: Union[int, str] = None) -> None
def post(self, req: Request, res: Response):
    data = req.get_multipart_data()
    req.upload.add(
        file_name=data["logo"]["value"]["filename"],
        data=data["logo"]["value"]["file_data"],
        mimetype=data["logo"]["value"]["mimetype"],
    )
    
    req.upload.save()

Mapping file saves to your database tables

To save files based on a table name & primary key.

The default upload directory path is /uploads

- uploads
  - images
    - 2

For example

def post(self, req: Request, res: Response):
    data = req.get_multipart_data()
    req.upload.add(
        file_name=data["logo"]["value"]["filename"],
        data=data["logo"]["value"]["file_data"],
        mimetype=data["logo"]["value"]["mimetype"],
    )
    
    # Use your ORM to save the file to your db & obtain the returned primary key (pk)
    req.upload.save(table_name="images", pk=pk)

Options

  • UPLOAD_DIR - the directory path where files will be saved (defaults to uploads).
options = {
    "UPLOAD_DIR": "uploads",
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bobtail-upload-0.0.1.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

bobtail_upload-0.0.1-py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page