例如,如果您点击链接:
data:application/octet-stream;base64,SGVsbG8=
浏览器将提示您下载一个文件,该文件由超链接本身中作为base64保存的数据组成.有没有办法在标记中建议默认名称?如果没有,是否有JavaScript解决方案?
当强制通过window.location下载时,如何在JavaScript中设置blob文件的名称?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
Run Code Online (Sandbox Code Playgroud)
运行上面的代码会立即下载文件而不会刷新页面,如下所示:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
我想将文件名设置为my-download.json.
我<video>在Chrome 55中收到带有标签的下载按钮,但在Chrome 54上没有:

如何删除此项,以便没有人可以在Chrome 55中看到下载按钮?
我使用<video>tag将此视频嵌入到我的网页上.所以,我想要一些代码来删除这个下载选项.
这是我目前的代码:
<video width="512" height="380" controls>
<source data-src="mov_bbb.ogg" type="video/mp4">
</video>
Run Code Online (Sandbox Code Playgroud) 谷歌浏览器现在附带一个下载按钮,用于播放只是嵌入视频的视频(即非MSE):

我很难找到Chrome实施<video>标签的任何文档.有没有人知道是否有办法 - 禁用"控件"并创建自己的视频播放器控件 - 禁用此功能?
我意识到,如果显示,下载视频已经很容易,我只想禁用该功能作为控件的一部分出现.
谢谢!
我正在编写一个Web应用程序,除其他外,它允许用户将文件上传到我的服务器.为了防止名称冲突和组织文件,我将它们放在我的服务器上后重命名.通过跟踪原始文件名,我可以与文件的所有者进行通信,而他们不知道我在后端更改了文件名.也就是说,直到他们去下载文件.在这种情况下,系统会提示他们下载一个名称不熟悉的文件.
我的问题是,有没有办法只使用HTML指定要下载的文件的名称?因此,用户上传名为'abc.txt'的文件并将其重命名为'xyz.txt',但是当他们下载它时,我希望浏览器默认将文件保存为'abc.txt'.如果仅使用HTML无法做到这一点,有没有办法做到这一点?
html ×3
download ×2
html5 ×2
html5-video ×2
javascript ×2
blob ×1
data-uri ×1
save-as ×1
url ×1