Saya memindahkan situs eCommerce lama ke MVC 3 dan ingin memanfaatkan peningkatan desain. Situs ini saat ini memiliki gambar produk yang disimpan dalam 3 ukuran: thumbnail, medium (untuk tampilan dalam daftar) dan diperluas untuk tampilan yang diperbesar. Saat ini kami harus mengunggah 3 gambar terpisah yang berukuran tepat, memberikan 3 nama berbeda yang sesuai dengan apa yang diharapkan situs, dll. Sangat merepotkan.
Saya ingin mengunggah hanya 1 file, yang besar, lalu biarkan situs menguranginya ke ukuran yang diperlukan, dan saya ingin fleksibilitas untuk mengubah ukuran thumbnail dan daftar tergantung pada preferensi pengguna, faktor bentuk (misalnya ponsel, iPad , desktop), dll. mungkin memerlukan banyak salinan dari gambar yang sama. Pertanyaan saya adalah apakah gambar harus dikurangi kemudian disimpan beberapa kali saat diunggah dan jika demikian, apa konvensi penyimpanan / penamaan yang baik?
Gagasan lainnya adalah hanya menyimpan gambar tunggal tetapi mengubah ukurannya secara terprogram sebelum menyajikannya kepada klien. Adakah yang melakukan ini dan apa saja pengorbanannya selain beberapa siklus mesin lagi? Bagaimana Anda meneruskan gambar sementara di memori ke klien (tidak ada URL)?
sumber
Pengolah Gambar
Imageprocessor adalah pustaka yang ringan dan dapat diperpanjang yang ditulis dalam C # yang memungkinkan Anda untuk memanipulasi gambar saat bepergian menggunakan .NET
Mengubah ukuran dengan cepat:
ImageProcessor.Web hadir dengan caching sebagai standar. Setiap gambar yang diproses secara tidak sinkron di-cache baik di browser dan di server selama yang Anda pilih. Tembolok server secara cerdas menyimpan jutaan gambar dan secara diam-diam memperbarui sendiri jika gambar asli diubah atau cache kedaluwarsa.
sumber
Dengan asumsi bahwa thumbnail hanyalah versi yang diubah ukuran dari gambar utama, maka saya pikir itu harus dilakukan pada waktu unggah, tetapi mungkin dijadwalkan sebagai pekerjaan latar belakang agar tidak mempengaruhi proses lain. Jika Anda mengubah ukuran dengan cepat, pastikan Anda men-cache gambar.
Yang menarik dari semua ini adalah bahwa thumbnail terbaik untuk beberapa gambar bukanlah ukuran sederhana dari master; Anda mungkin perlu memperbesar dan memperkecil dengan cara yang didorong oleh manusia. Anda mungkin ingin melakukan pengubahan ukuran otomatis, tetapi memiliki mekanisme yang memungkinkan penggantian dalam kasus-kasus khusus ini.
sumber
Sedikit variasi pada apa yang disebutkan Adam:
(1) membuat halaman kesalahan khusus (aturan untuk gambar)
(2) Struktur nama file gambar harus:
Satu-satunya pengecualian adalah gambar asli dan harus dinamai:
(3) Pada unggahan file misalnya: 1245_Original -> semua file dengan 1245_ * harus dihapus
(4) Halaman kesalahan khusus (dengan asumsi 1245_Original Exists) harus membuat secara dinamis file gambar yang diminta misalnya:
dan juga melayani putaran pertama kalinya.
Akibatnya mengunggah gambar baru membersihkan cache.
sumber