在Dart的HttpRequest中设置自定义标头



>我需要在我的 HttpRequest 中设置一个自定义标头,以便在 S3 存储桶中使用加密。我想设置标题的标题x-amz-server-side​-encryption​-customer-algorithm但我总是得到一个

语法错误: 指定了无效或非法的字符串。'x-amz-server-side-encryption-customer-algorithm' 不是有效的 HTTP 标头字段名称。

当然,它不是一个有效的 HTTP 标头字段名称,但为什么我不能添加任何我想要的标头?

我的代码

  HttpRequest.request(url, method: 'PUT',
      requestHeaders: {
        'x-amz-server-side​-encryption​-customer-algorithm': 'AES256',
        'x-amz-server-side​-encryption​-customer-key': base64Key,
        'x-amz-server-side​-encryption​-customer-key-MD5': md5Key
      }, sendData: _uploadingJob.file)
  .then((req) => req.onReadyStateChange.where(
      (e) => req.readyState == HttpRequest.DONE)
      .first.then((e) {
       print('Request sent.');
      }));

你的破折号似乎有些奇怪。
当我从您的问题 dartpad 和 WebStorm 复制源代码时,在-之前添加了很多空格。尝试删除并重新添加它们。

最新更新