如果我在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;
答案 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
});