AWS S3 Direct Upload Javascript故障

时间:2018-07-23 20:36:36

标签: javascript ruby-on-rails google-chrome amazon-s3

我管理着一个用Ruby on Rails,Javascript和C编写的网站,该网站已经运行了几年,并且允许用户上传我们处理的数据文件。我使用s3_direct_upload gem绕过我们的Web服务器并异步处理文件,从而为客户端提供进度更新。

最近,我们有一个用户,尽管他过去已经能够上传文件,但该用户不再能够上传文件。没有其他用户遇到此问题。他在Windows上运行Chrome,并且很高兴在发生错误时愿意获得Java控制台的屏幕打印。在下面。

enter image description here

有问题的Javascript代码如下,错误在s3_upload_failed上调用,content.filename的文件名正确,content.error_thrown为空:

$(document).ready(function() {
  var upload_names = [];

  $('#new_ride_menu, #new_ride_button').S3Uploader(
    {
      remove_completed_progress_bar: false,
      progress_bar_target: $('.ride-upload-progress'),
      before_add: validateFile,
      expiration: null
    }
  );
  $('#new_ride_menu, #new_ride_button').bind('s3_uploads_start', function(e, content) {
    $('#ride-upload-modal').appendTo('body').modal('show');
  });
  // one upload is complete
  $('#new_ride_menu, #new_ride_button').bind('s3_upload_complete', function(e, content) {
    upload_names.push(content.file);
  });
  // all uploads are complete
  $('#new_ride_menu, #new_ride_button').bind('s3_uploads_complete', function(e, content) {
    // HANDLE SERVER COMMS AND PROCESSING
  });
  $('#new_ride_menu, #new_ride_button').bind('s3_upload_failed', function(e, content) {
    $.post('/logs', {level: 'warn', message: 'Error uploading file: '+content.filename});
    return alert(content.filename + ' failed to upload');
  });
});

我正在尝试复制此错误,但没有成功。我尝试过:

  • 禁用Java语言
  • 禁用cookie
  • 阻止第三方Cookie
  • 关闭无沙盒插件访问权限
  • 关闭剪贴板访问权限

这组错误对任何人来说都很熟悉吗?这是客户端配置问题吗?任何方向将不胜感激。

1 个答案:

答案 0 :(得分:0)

无法诊断更多信息后,我与客户通电话,要求他们在IE上打开该网站。那行得通,因此证明Chrome有点不对劲。

原来他们使用了两个Chrome实例,一个用于工作,一个用于家庭。家用版在我的网站上玩得很好,但是工作版有一些非常严格的选择。最后,解决方案是确保客户使用的是家庭版Chrome。