无需服务器强制下载文本文件

发布于 2024-11-16 07:08:10 字数 365 浏览 4 评论 0原文

如果用户单击按钮,则应提供文本区域的内容供下载。

到目前为止我所拥有的:

var lang = $('#language option:selected').val();
var iframe = $('<iframe>', {src: "data:application/force-download;base64," + window.btoa(editor.textfield.val())});
iframe.appendTo($('body'));

现在我想将内容类型设置为text/css。这使得浏览器显示 css 文件而不是打开下载对话框。如果我可以操作标头,我知道如何强制下载,但是它如何仅适用于 JS?

if a user clicks on a button, the content of a textarea should be offered for download.

What i have so far:

var lang = $('#language option:selected').val();
var iframe = $('<iframe>', {src: "data:application/force-download;base64," + window.btoa(editor.textfield.val())});
iframe.appendTo($('body'));

Now i want to set the content type to text/css. This makes the browser display the css file instead of opening the download dialog. I know how to force downloads if i can manipulate the headers, but how does it work only with JS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

四叶草在未来唯美盛开 2024-11-23 07:08:10

不幸的是,您无法在客户端执行此操作。

您需要发送 HTTP 标头 ( Content-disposition ) 才能执行此操作。 JavaScript 无法操作这些标头。

Unfortunatly, you can't do this on the client side..

You need to send HTTP headers ( Content-disposition ) in order to do this. Javascript can't manipulate those headers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文