أفضل طريقة لتحميل الصور إلى الإضافة/الثيم؟

أود تحميل أيقونات صور كجزء من السمة أو المكون الإضافي الخاص بي (أستخدم كليهما). سأشير إليها بعد ذلك من مكون Glimmer في المكون الإضافي. أحتاج إلى أن أكون قادرًا على الحصول على عنوان URL النصي لموقع الصورة، لأنني أرسله إلى خادم آخر في طلب AJAX. (يقوم الخادم البعيد بتضمين الأيقونات في رموز QR، إذا كنت تريد معرفة ذلك.)

إذا وضعت صوري في about.json في السمة، فلن يتم وضعها في موقع محدد - بدلاً من ذلك، يوجد تجزئة في عنوان URL. لذلك لا أعرف كيف أشير إليها خارج CSS، ناهيك عن المكون الإضافي.

إذا وضعت صوري في إعداد مسؤول للمكون الإضافي كـ uploaded_image_list، فإن المواقع غير محددة أيضًا، والأكثر من ذلك أنها تنتهي في مصفوفة بدون اسم/علامة/اسم مستعار يمكن قراءته من قبل الإنسان للإشارة إليها.

// console.log(this.siteSettings.county_fence_available_icons):
/uploads/default/original/1X/1764ca1c70c7f4f7f01da26e702639fd8cfe2bf4.jpeg|/uploads/default/original/1X/b16cecd70e4d25abdf06a8b6135ec126d2c6ce2d.jpeg|/uploads/default/original/1X/b4c049256c1068e531e43f1622ada78c5b2070b3.jpeg|/uploads/default/original/1X/4aa457c9cd939e178eb251682a4438cc027b96e9.jpeg

إذًا، هل هناك طريقة يمكنني بها تحميل الصور، إما إلى السمة أو المكون الإضافي، بطريقة تنتهي بها في عنوان URL محدد؟

يتعلق هذا السؤال أيضًا بأي أصول أخرى يرغب شخص ما في تحميلها. كل من قسم assets في about.json وكذلك الدالة register_asset لاستخدامها في plugin.rb تبدو وكأنها قادرة على التعامل مع أنواع ملفات أخرى غير الخطوط، ولكن إذا تم تحميل هذه الملفات، فلا أعرف مكانها.

إعجاب واحد (1)

لا. هل تشير إليها باسم المتغير كما فعلت؟ يتم حفظ جميع التحميلات كـ hash لمحتوياتها.

إعجاب واحد (1)

على الرغم من أنه لا يمكنك تعيين عنوان URL، إلا أنه محدد، حيث يتكون عنوان URL من تجزئة SHA1 للملف.

طالما أنك لا تغير محتويات الملف، فيجب أن ينتهي به الأمر إما في

/uploads/<اسم المثيل>/original/1X/1764ca1c70c7f4f7f01da26e702639fd8cfe2bf4.jpeg

أو

/uploads/<اسم المثيل>/original/2X/1/1764ca1c70c7f4f7f01da26e702639fd8cfe2bf4.jpeg

أو

/uploads/<اسم المثيل>/original/3X/1/7/1764ca1c70c7f4f7f01da26e702639fd8cfe2bf4.jpeg

أو

/uploads/<اسم المثيل>/original/4X/1/7/6/1764ca1c70c7f4f7f01da26e702639fd8cfe2bf4.jpeg

(وأي منها يعتمد على عدد التحميلات التي لديك بالفعل هنا).

3 إعجابات

بالنسبة للإضافات، ستكون الأصول الثابتة (التي لا يمكن تعديلها بواسطة تكوين المسؤول) لها عنوان URL واضح.

يمكنك الرجوع إلى مُهيئات إضافة Discourse Math:

ستكون الأصول الموجودة في الدليل /public متاحة تحت اسم الإضافة. يتم استدعاء هذه الأصول مباشرة دون الحاجة إلى تسجيلها في plugin.rb.

3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.