在 Dart 的 HttpRequest 中设置自定义 header

Set custom header in Dart's HttpRequest

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

SyntaxError: An invalid or illegal string was specified. 'x-amz-server-side​-encryption​-customer-algorithm' is not a valid HTTP header field name.

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

我的代码

  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 复制源代码时,在 - 之前添加了很多空格。 尝试删除并重新添加它们。