как может рефакторинг моего кода, чтобы предотвратить истечение срока действия ссылок aws с rails 5.2 и trix с shrine - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь построить блог с rails 5.2, trix, shrine и storage на aws s3, я могу заставить все работать, но через 900 секунд все мои ссылки истекают.

на данный момент у меня есть файл js, который позволяет перетаскивать событие в поле формы, которое запускает действие создания

$(document).ready(function() {
  Trix.config.attachments.preview.caption = {
    name: false,
    size: false
  };

  function uploadAttachment(attachment) {
    var csrfToken = $('meta[name="csrf-token"]').attr('content');
    var file = attachment.file;
    var form = new FormData;
    var endpoint = "/images";
    form.append("Content-Type", file.type);
    form.append("image[image]", file);

    xhr = new XMLHttpRequest;
    xhr.open("POST", endpoint, true);
    xhr.setRequestHeader("X-CSRF-Token", csrfToken);

    xhr.upload.onprogress = function(event) {
      var progress = event.loaded / event.total * 100;
      return attachment.setUploadProgress(progress);
   };

xhr.onload = function() {
  if (this.status >= 200 && this.status < 300) {
    var data = JSON.parse(this.responseText);
    return attachment.setAttributes({
      url: data.url,
      href: data.url
    });
  }
};

return xhr.send(form);
 };

 document.addEventListener("trix-attachment-add", function(event) {
   var attachment = event.attachment;
   if (attachment.file) {
     return uploadAttachment(attachment);
   }
 });
});

Как я могу отредактировать это, чтобы заставить это работать или что я пропускаю в документах святыни https://shrinerb.com/rdoc/classes/Shrine/Storage/S3.html

https://gist.github.com/cgibsonmm/5688a190dbffe167c5c4ad6152653374/edit

...