将文件从浏览器拖到需要权限的桌面

时间:2018-09-24 20:23:18

标签: javascript amazon-s3 drag-and-drop

虽然似乎可以按照this post将文件从浏览器拖到桌面,但对于要求将凭据作为查询字符串参数传递的Amazon S3上的文件似乎不起作用。我要复制的文件的网址采用以下格式:

https://my-domain.amazonaws.com/uploads/mypath/myfile.txt?X-Amz-Expires=86400&X-Amz-Date=20180924T195935Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=mycredential&X-Amz-SignedHeaders=host&X-Amz-Signature=mysig

如果我将S3中文件的权限更改为public,并将路径更改为:

https://my-domain.amazonaws.com/uploads/mypath/myfile.txt

一切正常。

我绑定到dragstart事件并按如下所示设置下载网址:

evt.originalEvent.dataTransfer.setData("DownloadURL", "https://my-domain.amazonaws.com/uploads/mypath/myfile.txt?X-Amz-Expires=86400&X-Amz-Date=20180924T195935Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=mycredential&X-Amz-SignedHeaders=host&X-Amz-Signature=mysig");

有什么办法可以通过传递的凭证来下载文件?

0 个答案:

没有答案