【问题标题】:Prevent direct upload from continuing with activestorage direct upload阻止直接上传继续使用 activestorage 直接上传
【发布时间】:2019-05-09 18:24:51
【问题描述】:

我想监听 direct-upload:start 或 direct-upload:initialize 事件,然后停止上传。换句话说,使用 activestorage.js DirectUpload 功能,我正在使用直接上传上传表单提交的文件。我正在收听这些事件,因此我可以在允许上传之前先检查文件类型和大小。但无论我做什么,我都无法阻止上传。

   $('input#user_avatar').on('direct-upload:initialize', function (event) {
            event.preventDefault();
        });

我在 direct-upload:initialize 事件和 direct-upload:start 事件中都尝试过。我尝试了 event.preventDefault()、event.stopPropagation()、event.stopImmediatePropagation() 并抛出错误。无论如何,上传继续进行。 除非...这是我应该取消的表单提交...我稍后再试。

【问题讨论】:

    标签: rails-activestorage


    【解决方案1】:

    答案很简单...在任何活动存储事件之前执行此操作。在表单提交按钮上放置一个 onclick 处理程序。您可以在上传之前获取文件大小。

    $('#myfileinput')[0].files[0].size
    

    如果大小大于您的喜好,只需返回 false 并且表单不会提交。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 2019-04-05
      • 2017-08-30
      相关资源
      最近更新 更多