Fine Uploader - 在同一个项目中同时使用Direct S3和Traditional

时间:2014-02-21 15:56:32

标签: amazon-s3 fine-uploader

我使用传统(上传到服务器)版本的小文件现有FineUploader实现,该版本运行良好。但是,我还想允许来自应用程序的不同部分的Direct S3上传,这些部分处理大型附件,而不会重写现有的小文件代码。

是否有某种方法可以让Direct S3和Traditional上传相互兼作?这是一个单页面应用程序,所以我不能只根据我所在的页面加载一个或其他精细上传版本。

我尝试过只包含两个精细上传的JS文件,但它似乎打破了我现有的代码。

客户端代码:

$uploadContainer = this.$('.uploader')
$uploadButton = this.$('.upload-button')
$uploadContainer.fineUploader(
  request:
    endpoint: @uploadUrl
    inputName: @inputName
    params:
      authenticity_token: $('meta[name="csrf-token"]').attr('content')
  button: $uploadButton
).on 'complete', (event, id, fileName, response) =>
  @get('controller').receiveUpload(response)

1 个答案:

答案 0 :(得分:1)

很好找,@梅林达。

Fine Uploader存在于一个自定义命名空间中,因此它不会与其他潜在的全局变量冲突,这是qq命名空间(历史上命名)。发生的事情是,当您将此命名空间包含在页面上的<script>标记中时,每个自定义构建都会重新声明此命名空间以及所有成员对象。

我已经打开了an issue on our bug tracker,在更多技术细节中解释了这个问题,我们希望将修复程序优先安排到自定义页面,以便将来没有人会遇到此问题。