الصور لا تت muncul بعد الدمج على الرغم من وجود الملف ونموذج التحميل

لقد استخدمت دمج موقعي Discourse في موقع واحد وقد نجح الأمر إلى حد كبير، ولكن الصور من الموقع الثاني لا تظهر.

يمكنني القيام بشيء كهذا:

p=Post.find_by(topic_id: 222435, post_number: 11)
short_url=p.raw.match(/(upload:\/\/.*?)\)/)[1]
up=Upload.sha1_from_short_url(short_url)

و up.url يبدو مثل /uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg و cd /shared; ls uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg يعثر على الملف.

لكن https://host/uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg يعطيني خطأ 404 من nginx.

يبدو أنه إذا كان Upload موجودًا وكان الملف موجودًا، فسيكون NGINX لطيفًا ويسمح لي بالحصول عليه. ما الذي أفتقده؟

بالنسبة لبعض الصور، لقد “حللت” هذه المشكلة عن طريق لصق عنوان URL للصورة من الموقع التجريبي، والذي يقوم بعد ذلك بإنشاء الصورة، والتي يتم تحويلها بعد ذلك إلى تحميل (نفس التحميل الذي وجدته للتو، على ما أعتقد) وبعد ذلك، إذا قمت بإعادة بناء المنشور، فسيكون به الصورة.

لقد حاولت القيام بشيء مثل

f=File.open('/shared/uploads/default/original/2X/9/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg')
upload = UploadCreator.new(f, 'upload.jpeg').create_for(-1)

للقيام بنفس الشيء مثل لصق عنوان URL البعيد للصورة، ولكن هذا لا يعمل أيضًا.

مرحباً @RGJ. هل لديك تلميح حول كيفية الحصول على هذه الصور التي (تبدو؟) موجودة في قاعدة البيانات ونظام الملفات ليتم عرضها عند إعادة الخبز؟

أنا أكره تصحيح هذه الأنواع من الأخطاء.
في معظم الأحيان، أقوم فقط بتنفيذ الكود يدويًا في وحدة التحكم في وحدة تحكم Rails.

هذه المرة أعتقد أن الخطأ 404 قد يأتي من السطر 111

ماذا يعطيك Discourse.store.list_missing_uploads(skip_optimized: true)؟

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

هذا ما يجعلنا متشابهين. لكنني متأكد من أنك أفضل مني في ذلك. شكراً جزيلاً على تلميحاتك.

هذا ما أحاول فعله.

هذا يبدو تخميناً جيداً. شكراً!

nil. skip_optimized: false – نفس الشيء.

لقد تمكنت من إصلاح التحميلات لمنشور واحد، ولكن يبدو أنني لم أدون ملاحظات جيدة. :person_shrugging: لكنني فعلت الكثير من الأشياء للوصول إلى هناك؛ لدي بعض الأمل في أن هذا ممكن، على الأقل.

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