Привет, ребята,
Я больше не могу сохранить свою фотографию профиля. Мы храним файлы в AWS (S3), и обычная загрузка изображений работает (в постах).
Но когда я пытаюсь загрузить пользовательское изображение (пользователи имеют на это право), сначала в небольшом превью отображается загруженная картинка
Однако при попытке сохранить её она исчезает. На самом деле у меня там была одна такая картинка уже год, а теперь её больше нельзя найти в S3.
Что здесь может быть не так?
Спасибо и до встречи,
Wurzelseppi
Только что обнаружил в логах ошибок:
Не удалось найти файл в хранилище по адресу: //-censored-.eu-west-1.amazonaws.com/original/1X/194225f4214f7c18618e885c2e54e5009f64a6c8.jpeg
Никто?
Разве это не странно, что обычные загрузки работают (например, картинки в постах и тому подобное), а аватарки профиля — нет?
JimPas
02.Март.2020 01:43:59
4
Почему оно ищет файл в «-censored-»?
Каков путь к пользовательским аватаркам, которые работают? Он отличается?
У других пользователей возникает та же проблема или это только у вас?
Пока вы не сможете это исправить, попробуйте этот обходной путь и посмотрите, поможет ли он.
Загрузите свою пользовательскую фотографию в пост и сохраните пост.
Щелкните правой кнопкой мыши и сохраните фотографию на свой компьютер.
Загрузите фотографию с вашего ПК в свой профиль и сохраните.
Возможно, проблема связана с тем, откуда вы загружаете пользовательскую фотографию, из-за чего она не сохраняется в вашем профиле. Просто мысль.
Привет,
это
-censored-
было просто способом скрыть точное название моего s3-бакета
JimPas
03.Март.2020 05:04:16
6
Извините! Мне следовало догадаться.
Тем не менее вопрос остаётся… сможете ли вы загрузить своё фото из другого источника, сохранить его, и оно сохранится? И происходит ли это с другими пользователями?
Привет,
У меня возникла такая ошибка:
Не удалось найти файл в хранилище по адресу: \\proflex-community-prod.s3.dualstack.eu-west-1.amazonaws.com/original/1X/50f1646a833bb7fa4887676767c77f7a52f8a805.jpeg
Однако, когда я перехожу по этой ссылке (в сети моей компании):
https://proflex-community-prod.s3.dualstack.eu-west-1.amazonaws.com/original/1X/50f1646a833bb7fa4887676767c77f7a52f8a805.jpeg
файл открывается.
Возможно, проблема в URL, который формируется для слоя представления?
Также нашёл похожие обсуждения по этой теме:
https://meta.discourse.org/t/missing-avatar-on-s3-for-some-avatars/93979/7
So I migrated to using S3 for uploads a few months back for one forum. Overall it seemed like a success.
Uploads from new posts are going to S3 perfect
Migration of old uploads from posts to S3 worked fine using rake uploads:migrate_to_s3
Existing avatars did not migrate
New avatar uploads are not going to S3
New user background and card background images are uploading to S3 perfectly fine
In attempt to fix the problem. I tried running rake avatars:refresh and avatars:clean after following t…
Hi everyone,
Somehow I keep having issues with avatars. I’m on the last version (v2.2.0.beta3 +3 ).
This is something noticed a few weeks ago but I’m only having the time to debug now. At first, I thought it could be a problem with the customizations I did through my theme plugin, but I don’t think that’s the case.
Some images show up but some others don’t. Has anyone seem something like that?
Here’s an example of an image that should be showing up (both urls seem correct):
https://app.thewa…
С уважением,
Вурцельсеппи
Проблема всё ещё сохраняется, и я нашёл это:
opened 10:46PM - 18 Feb 19 UTC
closed 02:44PM - 21 Jul 19 UTC
hi,
either with stable or with testing branch, there seems to have no way to ha… ve users upload and use custom avatar image.
the system seems to work well up to the "upload image" where you select you image, it shows in the preview in the dialog, but when saving, bim!, back to neutral zero avatar image...
the system complains with this error :
(testing seems to work well otherwise btw)
the error at the given time (with testing)
```
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
`/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.0.1/lib/logster/logger.rb:101:in `add_with_opts'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.0.1/lib/logster/logger.rb:52:in `add'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/logger.rb:534:in `warn'
/var/www/discourse/lib/discourse_ip_info.rb:23:in `rescue in mmdb_load'
/var/www/discourse/lib/discourse_ip_info.rb:19:in `mmdb_load'
/var/www/discourse/lib/discourse_ip_info.rb:15:in `open_db'
/var/www/discourse/lib/discourse_ip_info.rb:10:in `initialize'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/singleton.rb:141:in `new'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/singleton.rb:141:in `block in instance'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/singleton.rb:139:in `synchronize'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/singleton.rb:139:in `instance'
/var/www/discourse/lib/discourse_ip_info.rb:91:in `get'
/var/www/discourse/app/serializers/concerns/user_auth_tokens_mixin.rb:23:in `location'
(eval):5:in `_fast_attributes'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:468:in `rescue in attributes'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:455:in `attributes'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:480:in `_serializable_hash'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:359:in `serializable_hash'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:89:in `block in _serializable_array'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:79:in `map'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:79:in `_serializable_array'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:73:in `serializable_array'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/array_serializer.rb:53:in `as_json'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:96:in `jsonify'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `block in jsonify'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `map'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `jsonify'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `block in jsonify'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `map'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:92:in `jsonify'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:35:in `encode'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb:22:in `encode'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/core_ext/object/json.rb:41:in `to_json'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:331:in `to_json'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/multi_json-1.13.1/lib/multi_json/adapters/oj.rb:40:in `dump'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/multi_json-1.13.1/lib/multi_json/adapters/oj.rb:40:in `dump'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/multi_json-1.13.1/lib/multi_json/adapter.rb:25:in `dump'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/multi_json-1.13.1/lib/multi_json.rb:139:in `dump'
/var/www/discourse/app/controllers/application_controller.rb:453:in `render_json_dump'
/var/www/discourse/app/controllers/users_controller.rb:88:in `block (2 levels) in show'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/mime_responds.rb:203:in `respond_to'
/var/www/discourse/app/controllers/users_controller.rb:80:in `show'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/abstract_controller/base.rb:194:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:132:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/rescue.rb:22:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/notifications.rb:168:in `block in instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/notifications.rb:168:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/abstract_controller/base.rb:134:in `process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2/lib/action_view/rendering.rb:32:in `process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal.rb:191:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_controller/metal.rb:252:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/journey/router.rb:35:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/journey/router.rb:35:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/routing/route_set.rb:840:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.3/lib/rack/protection/frame_options.rb:31:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:32:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/conditional_get.rb:25:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:216:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:98:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.0.1/lib/logster/middleware/reporter.rb:30:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2/lib/rails/rack/logger.rb:38:in `call_app'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2/lib/rails/rack/logger.rb:28:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:16:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/executor.rb:14:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2/lib/action_dispatch/middleware/static.rb:127:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/sendfile.rb:111:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/message_bus-2.2.0.pre.1/lib/message_bus/rack/middleware.rb:57:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:182:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2/lib/rails/engine.rb:524:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2/lib/rails/railtie.rb:190:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2/lib/rails/railtie.rb:190:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/urlmap.rb:68:in `block in call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:606:in `process_client'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:701:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:549:in `spawn_missing_workers'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:142:in `start'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.0/bin/unicorn:126:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<top (required)>'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'
/opt/rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'
/opt/rbenv/versions/2.6.0/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
/opt/rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'
/opt/rbenv/versions/2.6.0/bin/bundle:23:in `load'
/opt/rbenv/versions/2.6.0/bin/bundle:23:in `<main>'`
```
Там тоже упоминается то, что я теперь обнаружил в своих логах:
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) не найден: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Плохая новость в этой теме: решения нет
varun21
(Varun Sharma)
21.Апрель.2022 06:58:44
9
Кто-нибудь уже нашел решение?