سؤال

لقد كتبت تطبيق Sinatra بسيط يقوم بإنشاء صورة باستخدام Rmagick من بعض مدخلات المستخدمين. يتم حفظ الصورة في الدليل./Public مع اسم ملف فريد. يتم استخدام اسم الملف الفريد في HTML التي تم إنشاؤها بواسطة Sinatra بحيث يحصل كل مستخدم على الصورة الصحيحة. مرة واحدة في اليوم ، يقوم البرنامج النصي بحذف الملفات التي تزيد قيمتها عن ساعة واحدة. من الواضح أن هذا اختراق فظيع ولكن ليس لدي تجربة ويب!

هل هناك أي طريقة لخدمة صورة Rmagick في سيناترا دون إنقاذها أولاً على القرص؟

هل كانت مفيدة؟

المحلول

استخدم ال Image#to_blob طريقة لتحويل الصورة في الذاكرة إلى سلسلة:

get '/' do
  content_type 'image/png'
  img = Magick::Image.read('logo:')[0]
  img.format = 'png'
  img.to_blob
end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top