Plots2: فشل تحميل الصورة

تم إنشاؤها على ٤ أبريل ٢٠٢١  ·  35تعليقات  ·  مصدر: publiclab/plots2

فشل تحميل الصورة مع ظهور هذا الخطأ في قسم النص الأساسي "القسم 4" من المسار /post
Screenshot from 2021-04-04 03-28-07 هذا موجود على https://publiclab.org/ ، وكان قادرًا على تكراره على https://unstable.publiclab.org ومحليًا

ملاحظة: تحميل الصورة يعمل بشكل جيد في "القسم 2" من /post
النموذج: https://github.com/publiclab/plots2/blob/main/app/views/editor/rich.html.erb

bug help wanted high-priority

التعليق الأكثر فائدة

حسنًا ، لقد تمكنت أنا و icarito من حل مشكلة تحديث الغزل لسحب رمز محرر 3.0.3 الحقيقي ، وأكد ذلك ، ثم تم إصلاح مشكلة تكوين أخرى متعلقة بـ SSL وهي الآن nginx العمل على الموقع المباشر. شكرا لكم جميعا!

image

ال 35 كومينتر

يشير أيضًا إلى # 9442 لمشكلة بسيطة.

شكرا @ waridrox : +1:

في محاولة لتصحيح المشكلة بشكل أكبر ، كان الخطأ الذي تلقيته عند تحميل صورة من تخزين الملفات المحلي
Paperclip::Errors::CommandNotFoundError: Could not run the 'identify' command. Please install ImageMagick.
في ظل بيئة التنمية المحلية. أعتقد أن هذا تبعية جديدة لـ paperclip جوهرة تتعامل مع تحميلات الملفات.

Screenshot 2021-04-04 at 8 13 15 PM

بعد تثبيت imagemagick باستخدام الأمر sudo apt-get install imagemagick أو brew install imagemagick ، أضفت هذين السطرين من التعليمات البرمجية في ملف development.rb .

Paperclip.options[:image_magick_path] = "/opt/ImageMagick/bin"
Paperclip.options[:command_path] = "/opt/ImageMagick/bin"

بعد ذلك ، قمت ببساطة بإعادة تشغيل الخادم وتم تشغيل تحميل الملف مرة أخرى بأنواع ملفات مثل jpeg و png و gif . وإليك لمحة عن نفس الشيء -

https://user-images.githubusercontent.com/58583793/113514702-c308e700-958d-11eb-8e12-59c7a9648b24.mp4

من _ هذا الخيط_ في stackoverflow ، نحتاج إلى إضافة هذين السطرين في الإنتاج.

أيضًا بسبب المعلمة الاختيارية لتثبيت image-magick في https://github.com/publiclab/plots2/blob/main/doc/PREREQUISITES.md#image -libraries-Optional ، تمت ملاحظة هذا السلوك في المقام الأول.

شكرًا @ waridrox ، لقد سحبت تغييراتك وما زلت أتلقى الخطأ .... هل يمكن لشخص آخر أن يحاول من نهايته. شكرا

أوه 😅 آسف حقًا لذلك ، يرجى إعادة السحب بعد ذلك. هل تعمل محليا بالرغم من ذلك؟ ربما يمكن أن تساعد تجربة sudo apt-get update أولاً ثم sudo apt-get install imagemagick ...

مرحبًا بالجميع ، محليًا ، من المنطقي أن يكون هذا أمرًا خياليًا ولكن (أو عدم وجود imagemagick) ولكن يجب تثبيته على مستقر. أتساءل عما إذا كان خطأ مميزًا على المستقر؟ يجب أن نتحقق من Sentry.io. Cess هل لديك حق الوصول؟

شكرا لإيجاد وتوثيق هذا !!

لا أرى أخطاء الحراسة عند تحميل الصور إلا فيما يتعلق بصور الملف الشخصي (وهو ما يحدث غالبًا بسبب البريد العشوائي والهجمات).

Screenshot_20210404-174638
Screenshot_20210404-174706

ما هو مسار الخطأ؟ إنه خطأ 500؟

آسف أعني / الأخيرة / أخطاء

waridrox لم ينجح معي محليًا ، ربما لدي الإصدار الخاطئ .. @ jywarren كان أكثر من خطأ 302 في نهايتي

Screenshot from 2021-04-05 00-54-02

آها ، خطأ 302 بالفعل ... 🕵️

سوف أنظر لماذا قد يكون هذا هو الحال. شكرا لك!

سأحاول تشغيله في GitPod لمعرفة ما إذا كان بإمكاني إعادة إنتاج 302 ...

حسنًا ، حصلت على سجل من GitPod!

Started POST "/images" for 10.4.6.182 at 2021-04-13 18:36:40 +0000
Cannot render console from 10.4.0.249! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by ImagesController#create as JSON
  Parameters: {"nid"=>"null", "image"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x00007f444ce23c30 @tempfile=#<Tempfile:/tmp/RackMultipart20210413-4879-sla487.jpg>, @original_filename="11aa-love-ryan2-720.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image[photo]\"; filename=\"11aa-love-ryan2-720.jpg\"\r\nContent-Type: image/jpeg\r\n">}}
Can't verify CSRF token authenticity.
Redirected to https://3000-aquamarine-bass-qsunlo8p.ws-us03.gitpod.io/login?return_to=/images
Filter chain halted as :require_user rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.0ms)


Started GET "/login?return_to=/images" for 10.4.6.182 at 2021-04-13 18:36:40 +0000
Cannot render console from 10.4.0.249! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by UserSessionsController#new as JSON
  Parameters: {"return_to"=>"/images"}
  User Load (0.5ms)  SELECT  `rusers`.* FROM `rusers` WHERE `rusers`.`id` = 1 LIMIT 1
   (0.2ms)  BEGIN
  User Update (0.5ms)  UPDATE `rusers` SET `last_request_at` = '2021-04-13 18:36:40', `updated_at` = '2021-04-13 18:36:40' WHERE `rusers`.`id` = 1
   (28.6ms)  COMMIT
Redirected to https://localhost/home?return_to=%2Flogin
Filter chain halted as :require_no_user rendered or redirected
Completed 302 Found in 35ms (ActiveRecord: 29.7ms)

حسنًا ، لماذا تتم إعادة توجيهنا لتسجيل الدخول ... جارٍ البحث ...

يبدو أن رمز CSRF لا يعمل ... دعنا نرى ...

https://github.com/publiclab/plots2/blob/bd7b2e26c1edbd85a9754d8b25bc27950fd99770/app/views/editor/rich.html.erb#L344 -L347

نمررها هنا.

يجلب $('meta[name="csrf-token"]').attr('content') الرمز المميز بشكل صحيح ، لذا لم يكن الأمر كذلك ...

مع ملاحظة أنه في GitPod ، يعمل رافع الصور الرئيسي. يستخدم نفس وحدة التحكم ، لذلك يبدو أن المشكلة تكمن في رمز وحدة النص المنسق للمحرر نفسه:


Started POST "/images" for 10.4.0.248 at 2021-04-13 18:47:45 +0000
Cannot render console from 10.4.6.181! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by ImagesController#create as JSON
  Parameters: {"authenticity_token"=>"5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg==", "uid"=>"1", "image"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x000055644bef1898 @tempfile=#<Tempfile:/tmp/RackMultipart20210413-5664-bsht8f.jpg>, @original_filename="11aa-love-ryan2-720.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image[photo]\"; filename=\"11aa-love-ryan2-720.jpg\"\r\nContent-Type: image/jpeg\r\n">}}

وفي الواقع ، يستخدم رافع الصور الرئيسي أيضًا الرمز المميز في طلبه:

https://github.com/publiclab/PublicLab.Editor/blob/59e5bf6fd1ac2b6f9108e522baa7cdab36e0bb64/src/modules/PublicLab.MainImageModule.js#L94

يجلبها بشكل صحيح مع:

editor.options.mainImageModule.token
"5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg=="

مؤكد. يحتوي تحميل الصورة الرئيسية على هذه المجموعة من المعلمات في طلب النموذج:

authenticity_token: 5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg==
uid: 1
image[photo]: (binary)

في حين أن تحميل الصورة المضمنة يحتوي فقط على ما يلي:

nid: null
image[photo]: (binary)

التحقق من التغييرات الأخيرة على هذا القسم من التعليمات البرمجية ، بالإضافة إلى خيارات الوحدة نفسها للتأكد من تخزينها / تمريرها بشكل صحيح من المُنشئ.

واو ، حشرة عميقة. العودة من خلال https://github.com/jywarren/woofmark/pull/2 إلى مكتبة woofmark : https://github.com/bevacqua/woofmark/pull/44

أعتقد أن هذا العلاقات العامة منذ 28 يومًا قد يكون ذا صلة. آخر تغيير لفرع woofmark الذي نستخدمه حدث في سبتمبر 2020.

https://github.com/jywarren/woofmark/pull/76/files

لا أرى أي شيء في الكود في woofmark - مسارين الآن:

  1. تتبع المعلمة upload.xhrOptions خلال Woofmark والتأكد من أنها حصلت عليها بشكل صحيح
  2. معرفة ما إذا كانت الوحدة النمطية xhr npm قد تغيرت

https://www.npmjs.com/package/xhr تم نشره منذ 2.6 5 أشهر ولكن تم نشره في 2.2.1 لعدة أشهر في مشاريعنا. تم تأكيده في package-lock.json

حسنًا ، لذا فإن upload.xhrOptions param beforeSend يصل إلى woofmark ، كما تم اختباره في وحدة تحكم JS.

هل تولد بالفعل الرأس الإضافي؟

xhrOptions: { 
        beforeSend: function(xhr) { xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')) }
      },

يا إلهي ، لا أعرف متى توقف هذا عن العمل ولكن أعتقد أنه من المحتمل أن نضيف معلمة formData ونفعل ذلك بهذه الطريقة ؟؟؟ لكن لست متأكدًا مما إذا كان سيتم تجاوزه مع الآخرين ، أو إذا كان xhr lib سيتجاهله؟

بالإشارة إلى أن هذا كان سيحدث إما في 5 نوفمبر 2020 في https://github.com/publiclab/PublicLab.Editor/releases/tag/v3.0 أو قبل 28 يومًا في https://github.com/publiclab/plots2/pull/ 9323

وفقًا لهذا السطر ، أعتقد أن formData يجب أن يتم تمريره بشكل طبيعي:

https://github.com/bevacqua/woofmark/pull/44/files#diff -b70752c6e4fb751c6aa381f57afac66c25cc2d401b141b03e1751d81e60efcd2R216

سأحاول في GitPod:

      formData: {nid: null, authenticity_token: _module.options.token},

... هذا فعلها:

image

سيتم الإصلاح في https://github.com/publiclab/PublicLab.Editor/pull/712 ، الإصدار 3.0.3 ، وإضافة الرمز المميز الإضافي formData في https://github.com/publiclab/plots2 / سحب / 9504.

يا للعجب!

حرر وتأكد في مستقر!

image

ذكرت @ publiclab-mimi اليوم أن

في محرر الملاحظات البحثية ، لم أتمكن من تحميل JPEG أو PDF أو PNG.
في Google Chrome و Safari ، كل من خيارات السحب والإفلات وكذلك التصفح

ebarry ، أعتقد أن الإصدار الحالي لا يزال لا يحتوي على التغييرات المذكورة أعلاه نظرًا لوقت التخزين المؤقت المطلوب لدفع التغييرات إلى الإصدار المباشر. ذلك لأن تحميل الصورة / الملف يعمل على الإصدار الثابت والإصدار القديم.

Screenshot 2021-04-20 at 2 54 03 AM

تم إطلاق الكود الجديد الليلة الماضية! إلقاء نظرة ، أرى خطأ جديدًا - خطأ 500:

بدءًا من هذا ، وهو نفس الرقم 302 الذي وجدته سيس:

image

ثم أعيد توجيهك إلى هذا الخطأ 500 الجديد:

image

وهو في الواقع عند تسجيل دخول ناجح ، على ما أعتقد ، لكنه غريب لأنني قمت بتسجيل الدخول بالفعل؟

قام Sentry بتسجيله هنا ، على ما أعتقد ، لكنني لست متأكدًا مما إذا كان الخطأ قد حدث قبل أو بعد محاولة تسجيل الدخول.

https://sentry.io/share/issue/13e10e65210c4ceb9860ec687482d9b7/

""
ActionView :: MissingTemplate
الصفحة الرئيسية / المنزل مفقود مع {: locale => [: en]،: format => [: json]،: variants => []،: handlers => [: raw،: erb،: html،: builder،: روبي ،: قهوة ،: jbuilder]}. تم البحث في:

  • "/ app / app / views"
  • "/usr/local/bundle/gems/grape-swagger-ui-2.2.8/app/views"
  • "/usr/local/bundle/gems/grape-swagger-rails-0.3.1/app/views"
  • ""

هاه ، أواجه مشكلة في تتبع هذا لذا سأحاول التكاثر في GitPod مرة أخرى ؟؟؟

حسنًا ، لقد تمكنت أنا و icarito من حل مشكلة تحديث الغزل لسحب رمز محرر 3.0.3 الحقيقي ، وأكد ذلك ، ثم تم إصلاح مشكلة تكوين أخرى متعلقة بـ SSL وهي الآن nginx العمل على الموقع المباشر. شكرا لكم جميعا!

image

: then :: then :: then:

رائع!!! اشكرك

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات