Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Fs Image Thumbnail v 17.0
  4. Sales Conditions FAQ

Fs Image Thumbnail

by ACSONE SA/NV https://github.com/OCA/storage , Odoo Community Association (OCA) https://github.com/OCA/storage
Odoo
v 17.0 Third Party 28
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Community Apps Dependencies Show
• Base Partition
• Fs Image
• Fs File
• Base Attachment Object Store
• Filesystem Storage Backend
• server configuration environment files
Lines of code 3552
Technical Name fs_image_thumbnail
LicenseAGPL-3
Websitehttps://github.com/OCA/storage
Versions 16.0 17.0
You bought this module and need support? Click here!

Fs Image Thumbnail

Alpha License: AGPL-3 OCA/storage Translate me on Weblate Try me on Runboat

This module extends the fs_image addon to support the creation and the storage of thumbnails for images. This module is a technical module and is not meant to be installed by end-users. It only provides a mixin to be used by other modules and a model to store the thumbnails.

Important

This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status

Table of contents

  • Use Cases / Context
  • Usage
  • Changelog
    • 16.0.1.0.1 (2023-10-04)
  • Bug Tracker
  • Credits
    • Authors
    • Contributors
    • Other credits
    • Maintainers

Use Cases / Context

In some specific cases you may need to generate and store thumbnails of images in Odoo. This is the case for example when you want to provide image in specific sizes for a website or a mobile application.

This module provides a generic way to generate thumbnails of images and store them in a specific filesystem storage. Indeed, you could need to store the thumbnails in a different storage than the original image (eg: store the thumbnails in a CDN) to make sure the thumbnails are served quickly when requested by an external application and to avoid to expose the original image storage.

This module uses the fs_image module to store the thumbnails in a filesystem storage.

The shopinvader_product_image addon uses this module to generate and store the thumbnails of the images of the products and categories to be accessible by the website.

Usage

This addon provides a convenient way to get and create if not exists image thumbnails. All the logic is implemented by the abstract model fs.image.thumbnail.mixin. The main method is get_or_create_thumbnails which accepts a FSImageValue instance, a list of thumbnail sizes and a base name.

When the method is called, it will check if the thumbnail exists for the given sizes and base name. If not, it will create it.

The fs.thumbnail model provided by this addon is a concrete implementation of the abstract model fs.image.thumbnail.mixin. The motivation to implement all the logic in an abstract model is to allow developers to create their own thumbnail models. This could be useful if you want to store the thumbnails in a different storage since you can specify the storage to use by model on the fs.storage form view.

Creating / retrieving thumbnails is as simple as:

from odoo.addons.fs_image.fields import FSImageValue

# create an attachment with a image file
attachment = self.env['ir.attachment'].create({
    'name': 'test',
    'datas': base64.b64encode(open('test.png', 'rb').read()),
    'datas_fname': 'test.png',
})

# create a FSImageValue instance for the attachment
image_value = FSImageValue(attachment)

# get or create the thumbnails
thumbnails = self.env['fs.thumbnail'].get_or_create_thumbnails(
    image_value, [(800,600), (400, 200)], 'my base name')

If you’ve a model with a FSImage field, the call to get_or_create_thumbnails is even simpler:

from odoo import models
from odoo.addons.fs_image.fields import FSImage

class MyModel(models.Model):
    _name = 'my.model'

    image = FSImage('Image')

my_record = cls.env['my.model'].create({
    'image': open('test.png', 'rb'),
})

# get or create the thumbnails
thumbnails = record.image.get_or_create_thumbnails(my_record.image,
    [(800,600), (400, 200)], 'my base name')

Changelog

16.0.1.0.1 (2023-10-04)

Bugfixes

  • The call to the method get_or_create_thumbnails on the fs.image.thumbnail.mixin class returns now an ordered dictionary where the key is the original image and the value is a recordset of thumbnail images. The order of the dict is the order of the images passed to the method. This ensures that when you process the result of the method you can be sure that the order of the images is the same as the order of the images passed to the method. (#282)

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

Contributors

  • Laurent Mignon <laurent.mignon@acsone.eu> (https://acsone.eu)

Other credits

The development of this module has been financially supported by:

  • Alcyon Belux

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

lmignon

This module is part of the OCA/storage project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with