签名API上的customHeaders

时间:2013-09-05 22:53:04

标签: fine-uploader

我需要为FineUploder进行的签名调用添加一些自定义标题。我的CoffeeScript看起来像这样:

  options =
    chunking:
      enabled: true
    cors:
      allowXdr: true
    debug:    true
    iframeSupport:
      localBlankPagePath: "/assets/blank.html"
    ios:      false
    multiple: false
    request:
      endpoint:  "..."
      accessKey: "..."
      customHeaders:
        Accept: "application/vnd.keas_web+json;version=4, application/json, text/plain, */*"
        X-Something: "Something"
    resume:
      enabled: true
    retry:
      showButton: true
    signature:
      endpoint: "http://localhost:3001/api/s3/sign"
    uploadSuccess:
      endpoint: "..."
    validation:
      itemLimit: 5
      sizeLimit: 1000000

  $("#uploader").fineUploaderS3(options)

正在调用signature.endpoint API,但未发送自定义标头。 (我不仅在服务器上验证了这一点,还在Chrome的网络面板中验证了这一点。)

我是否需要为签名API调用与其他调用设置不同的自定义标头?

谢谢!

1 个答案:

答案 0 :(得分:1)

目前不支持将Fine Uploader S3中的自定义标头发送到您的签名端点。这是大约一周前的请求,并且可以在Fine Uploader 3.9中提供为本地服务器指定所有与S3相关的ajax请求的自定义标头的功能,该版本应在几周后发布。您可以查看feature request #956了解详情。

在一个不相关的说明中,您的客户端代码存在一些问题:

  1. Fine Uploader S3中忽略了customHeaders选项的request属性(正如您可能已经想到的那样)
  2. 为什么要将allowXdr设置为“true”,而不是将expected选项的cors属性设置为“true”?如果您在跨源环境中工作,则还必须将cors.expected设置为true。在Fine Uploader S3中,无论如何cors.allowXdr默认为“true”。如果你的签名& uploadSuccess服务器与托管Fine Uploader的页面位于同一个域中,无论如何都不需要处理cors选项。
  3. 没有ios选项。 camera选项具有ios属性,默认为“false”。