更改s3文件上的标头

时间:2016-01-28 21:26:43

标签: amazon-s3 knox-amazon-s3-client

如果我在s3上有文件,我该如何更改该文件的元数据?

看起来我可以"复制"它与新标题位于同一位置,实际上是相同的。

我使用knox作为节点客户端来执行此操作。相关文件已将application/octet-stream标头设置为var filename = "/example/file.mp4", headers = {'Content-Type': "application/octet-stream"}; client.copyFile(filename, filename, headers, function(error, resp) { //response is successful }); ,但我想将其更改为'PUT /example/file.mp4 HTTP/1.1\r\nContent-Type: application/octet-stream x-amz-copy-source: /bucket/example/file.mp4 Content-Length: 0\r\nDate: Thu, 28 Jan 2016 21:13:12 GMT Host: cc-video-archives-dev.s3.amazonaws.com Authorization: <redacted>=\r\nConnection: close\r\n\r\n', 。原因是这个链接会触发浏览器下载资源而不是在浏览器窗口中显示它。

此功能的链接knox source

position: absolute

响应成功,但是当我在s3中重新加载资源时,我看不到标题已更改。

我可以看到底层的API调用是这样的:

position: fixed !important;

1 个答案:

答案 0 :(得分:1)

我错过了这个标题:

"x-amz-metadata-directive": "REPLACE"

var filename = "/example/file.mp4",
  headers = {
    "x-amz-metadata-directive": "REPLACE",
    'Content-Type': "application/octet-stream"
  };

client.copyFile(filename, filename, headers, function(error, resp) {
  //response is successful
});