رفتن به مطلب
رونمایی از اولین و قویترین قالب IPS در ایران و در مارکتهای جهانی ×

Unable to upload profile photos to S3 after upgrade


Bot

پست های پیشنهاد شده

  • تیم مدیریت

Hey there, I recently upgraded my community from an ancient 4.3 to the latest 4.7.16. Upgrade mostly went smoothly, with one exception: specifically, we're now unable to upload profile photos to S3 (this previously worked pre-upgrade). Other uploads work: image attachments to posts and cover photos work just fine and upload without issue. It's specifically profile photos that seem to have an issue.

I've attempted to upload multiple gif, png and jpg images with essentially the same result: select a photo, it seems to get uploaded to the S3 bucket under monthly_YYYY_MM, but then upon pressing Continue the POST to /profile/<id>-<username>/photo/?ajaxValidate=1 fails with a 500. Seeing errors like this in our system logs:

InvalidArgumentException:  (0)
#0 /var/www/<path>/system/File/File.php(1577): IPS\_Image::create('????\x00\x10JFIF\x00\x01\x01\x01\x00...')
#1 /var/www/<path>/applications/core/modules/front/members/profile.php(1422): IPS\_File->thumbnail('core_Profile', 240, 240, true)
#2 /var/www/<path>/system/Dispatcher/Controller.php(107): IPS\core\modules\front\members\_profile->editPhoto()
#3 /var/www/<path>/applications/core/modules/front/members/profile.php(84): IPS\Dispatcher\_Controller->execute()
#4 /var/www/<path>/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\front\members\_profile->execute()
#5 /var/www/<path>/index.php(13): IPS\_Dispatcher->run()
#6 {main}

Stepping through the code, it looks like the exception is being thrown on L109 of system/Image/Image.php:

		if ( $imageType === NULL )
		{
			throw new \InvalidArgumentException;
		}

I suspect it's due to the first 4 bytes being "????" so it can't determine the type based on the header "signature" but I'm having trouble determining where things are going wrong to corrupt the header/image in the first place.

I've toggled between both GD and Imagemagick with the same result.

It's worth noting that on a hunch I switched the storage of profile photos to a local directory, and was able to upload photos again. But this isn't a feasible option for us. Worse still, the automated move back to S3 afterwards seems to have corrupted all of our profile photos and they can no longer be viewed in a browser due to "errors". Unfortunately I didn't have bucket versioning enabled so I suspect we're out of luck at getting these back, which is devastating because many of these were uploaded 15+ years ago but that's a separate issue.

Any ideas about what's going on here? Thanks in advance!

View the full Question

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • تعداد پاسخ 0
  • زمان ایجاد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

روزهای محبوب

بهترین ارسال کنندگان این موضوع

روزهای محبوب

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • ایجاد مورد جدید...

اطلاعات مهم

برای تجربه رابط کاربری بهتر و تعامل بهتر شما با انجمن ما از کوکی ها استفاده میکنیم قوانین