NOTE: Apart from
(and even then it's questionable, I'm Scottish). These are machine translated in languages I don't read. If they're terrible please contact me.
You can see how this translation was done in this article.
Friday, 13 September 2024
//Less than a minute
ImageShalp - це чудова бібліотека для роботи з зображеннями у. NET. Вона швидка, проста і має багато особливостей. У цьому дописі я покажу вам, як використовувати ImageSharp з Docker для створення простої служби обробки зображень.
Зусилля зображення дозволяє мені безперешкодно працювати з зображеннями у NET. Це міжплатформова бібліотека, яка підтримує широкий спектр форматів зображень і надає простий API для обробки зображень. Він швидкий, ефективний і простий у використанні.
Тем не менее, в моей установке есть проблема с помощью докера и ImageSagg. Коли я намагаюся завантажити зображення з файла, я отримую таку помилку: "Відхилення від шляху / wwroot/cache / тощо... " Це спричинено встановленнями Docker ASP. NET, які не надають доступу для запису до каталогу кешу ImageShalp, який використовує для зберігання тимчасових файлів.
Розв' язання проблеми полягає у змонтуванні гучності у контейнері docker, який вказує на каталог на комп' ютері вузла. Таким чином, бібліотека ImageShalp може записувати до каталогу кешу без будь- яких проблем.
Ось як це зробити:
mostlylucid:
image: scottgal/mostlylucid:latest
volumes:
- /mnt/imagecache:/app/wwwroot/cache
Тут ви бачите, що я прив' язую файл / apps/ wwwroot/cache до локального каталогу на моєму комп' ютері. Таким чином, ImageSharm може записувати до каталогу кешу без будь- яких проблем.
На моєму комп' ютері Ubuntu я створив каталог / mmnt/imagecache, а потім запустив команду flowing, щоб зробити його придатним для запису (на всіх, я знаю, що це небезпечно, але я не гуру Linux:)
chmod 777 -p /mnt/imagecache
У моїй програмі. cs я маю такий рядок:
builder.Services.AddImageSharp().Configure<PhysicalFileSystemCacheOptions>(options => options.CacheFolder = "cache");
Оскільки типовим є коренева тека кешу, цей параметр буде записуватися до каталогу / mnt/ imagecache на комп' ютері вузла.