Почему Google Storage не принимает прямые загрузки из Rails Active Storage? - PullRequest
0 голосов
/ 21 февраля 2019

Я использую облачное хранилище Google в своем приложении.До прошлой недели все работало нормально, я ничего не менял, и теперь мои файлы не отправляются в хранилище.

Следующее сообщение отображается, когда я отправляю форму с файлом.

enter image description here

и вконсоль имеет ссылку, которая отображает это enter image description here

Любопытно, что я обычно могу отправлять изображения из консоли Rails

config.logo.attach(io:File.open(Rails.root.join('public/images/default.png')), filename: 'default.png', content_type:'application/png');

Если все использует локальное хранилищетоже отлично работает.

Использование Ruby 2.5.1, Rails 5.2.2 и Active Storage с прямой загрузкой.

ОБНОВЛЕНИЕ Моя форма

<%= form_for @config, multipart: true do |f| %>
    <div class="row  border-bottom white-bg dashboard-header">
        <div class="col-lg-12">
            <h2>Configs</h2>
        </div>
        <div class="col-lg-12 mb-lg-5">                
            <%= image_tag f.object.logo, clas: 'img-fluid' if f.object.logo.attached? %>
            <div class="form-group">
                <%= f.label :logo %>
                <%= f.file_field :logo, direct_upload: true,  class:"form-control form-resource" %>
            </div>
            <button type="submit" class="btn btn-block btn-primary">Salvar</button>
        </div>
    </div>
<% end %>   

Когда я удаляю direct_upload: true, работает нормально, но я не хочу удалять эту функцию

1 Ответ

0 голосов
/ 22 февраля 2019

Решено путем настройки CORS (Cross-Origin Resource Sharing)

https://cloud.google.com/storage/docs/cross-origin

...