There are many recommendations on the web how to design user uploads of images to a website (especially, the so-called 'highload') - but these articles describe mainly sites on unix technologies ( one , two ), tons. n LAMP or now more often LEMP.

Actually, typical operations are there? Most often this is something from the set:

  1. Checking the extension and MIME type of files to be loaded
  2. Re-saving images with 99% quality (for the user, the difference is not visible, but the task is to remove the malicious code if it is there)
  3. Reducing the size of file storage - both due to recompression of the image, and due to the removal of meta-information
  4. Preparation of thumbnails of pictures (on the fly or in advance)
  5. Saving pictures to the cloud
  6. Delivery of pictures from fast statics servers (nginx) and often with additional caching (varnish)

Actually, I am most interested in this issue of paragraphs 2-3-4 under c #. On nix-systems there are sets like imagemagick, gd and specialized utilities like jpegtran - and by .net I understand it all comes down to the work of System.Drawing.Bitmap?

I would like to hear what in this plan is from the recommended technologies on c #. The code can not lead, just to understand the general direction, plus links are welcome.

  • one
    And why the code does not lead, maybe someone is useful? (For me, for example). Linked responses are welcome and welcome, but SO are not welcome. - Vadim Ovchinnikov
  • I would add - 0. using the external host of the pictures :) imgur has quite reasonable prices. - PashaPash
  • @PashaPash This is, under point five goes. - AK
  • Because I’m certainly an egoist and I’ll understand where the broad strokes draw a picture and doggul the missing — but I’m sorry to answer, because you may have to write a lot. The question is quite general and pulls a good article. - AK

0