jQuery/Javascript创建一个文本文件供用户下载
jQuery/Javascript create a text file for user download
我的网站上有一个表单,根据输入为用户创建输出。我想用这个输出创建一个文本文件,供用户下载(带有浏览器下载提示,没有安全问题)。
是否有办法做到这一点与Javascript/jQuery不使用PHP创建服务器上的文件第一?
我可以使用某种Javascript对象作为虚拟文件,以便用户可以下载它(以解决没有真正的txt文件供用户从服务器下载的问题)?
您可以通过使用Blob
(浏览器支持,polyfill)来实现这一点。查看@UselessCode:
(function () {
var textFile = null,
makeTextFile = function (text) {
var data = new Blob([text], {type: 'text/plain'});
// If we are replacing a previously generated file we need to
// manually revoke the object URL to avoid memory leaks.
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
var create = document.getElementById('create'),
textbox = document.getElementById('textbox');
create.addEventListener('click', function () {
var link = document.getElementById('downloadlink');
link.href = makeTextFile(textbox.value);
link.style.display = 'block';
}, false);
})();
<textarea id="textbox">Type something here</textarea> <button id="create">Create file</button> <a download="info.txt" id="downloadlink" style="display: none">Download</a>
相关文章:
- Sails.js:同时发布文本输入和一个文件
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 是否<asp:文本框>有一个onFocusLost事件
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 使用javascript将两个文本框值相加到表中的另一个文本框中
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 在文本上方标记另一个文本
- 如何在Jquery函数中为自动完成文本区域指定一个变量作为Id
- jQuery将文本从span标记复制到另一个span标记
- 从id标记中的文本进行检查,并将类添加到另一个标记中
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- 一个按钮,点击后会生成一个新的文本框?-Javascript
- 它在另一个函数中嵌套后不会输出文本
- 一个javascript实现base64图像编码并将结果写入文本文件
- 如何取消粗体文本?一个小小的所见即所得的编辑器
- Photoshop 脚本将一个文本一个接一个地放置
- 高亮文本一个字一个字在一个句子上的按钮点击使用javascript