Estou portando um site de comércio eletrônico antigo para o MVC 3 e gostaria de aproveitar as melhorias de design. Atualmente, o site possui imagens de produtos armazenadas em três tamanhos: miniatura, média (para exibição em uma lista) e expandida para uma aparência ampliada. No momento, estamos tendo que fazer upload de 3 imagens separadas com o tamanho exato, fornecer 3 nomes diferentes que correspondam ao que o site espera etc., é uma dor.
Gostaria de fazer upload de apenas um arquivo, o grande, e depois permitir que o site o reduzisse aos tamanhos necessários, e gostaria de ter a flexibilidade de alterar os tamanhos de miniaturas e listas, dependendo das preferências do usuário, fator de forma (por exemplo, celular, iPad , área de trabalho) etc. etc., portanto, podem ser necessárias muitas cópias da mesma imagem. Minha pergunta é: a imagem deve ser reduzida e salva várias vezes após o upload? Em caso afirmativo, o que é uma boa convenção de armazenamento / nomeação?
A outra idéia é armazenar apenas a imagem única, mas redimensioná-la programaticamente antes de servi-la ao cliente. Alguém já fez isso e quais são as compensações além de mais alguns ciclos de máquinas? Como você transmite uma imagem temporária na memória para o cliente (não há URL)?