gpt4 book ai didi

javascript - 将数据 URI 格式的文件从浏览器拖到桌面

转载 作者:行者123 更新时间:2023-11-30 12:26:03 26 4
gpt4 key购买 nike

作为this blog post指出,有一种方法可以通过从浏览器拖放到桌面来下载文件。

我想将数据 uri 格式的文件(例如“data:application/octet-stream;base64,eNcoDEdFiLEStuFf”)拖到桌面。出于安全原因,我无法提供服务器下载的完整 URL(文件需要在客户端处理)。

当我尝试博文示例中给出的内容时,会创建一个内容和名称为当前时间戳的文件:

item.addEventListener("dragstart", function(evt) {
evt.dataTransfer.setData("DownloadURL", "data:application/octet-stream;base64,eNcoDEdFiLEStuFf");
}

我已经尝试过更改格式参数,稍微调整数据格式并事先进行解码,但没有任何效果,我从未将任何数据放到桌面上。至少在某些浏览器中有什么方法可以实现我正在寻找的东西吗?

顺便说一下,我们不使用 jQuery。因此,如果有一个 jQuery 解决方案可能会很有趣,但这很可能不适用于我们的项目。

最佳答案

据我所知,下载 URL 应具有以下格式:mime 类型:文件名:URL。 URL 是您的数据 URI。对于您的情况:

item.addEventListener("dragstart", function(evt) {
evt.dataTransfer.setData("DownloadURL", "application/octet-stream:fileName.bin:data:application/octet-stream;base64,eNcoDEdFiLEStuFf");
}

应该创建 fileName.bin 文件。

看看http://jsfiddle.net/Andrei_Yanovich/jqym7wdh/但它看起来只适用于 chrome

关于javascript - 将数据 URI 格式的文件从浏览器拖到桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com