Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript将数据写入文件?I_Javascript_File_Security - Fatal编程技术网

如何使用javascript将数据写入文件?I

如何使用javascript将数据写入文件?I,javascript,file,security,Javascript,File,Security,我知道默认情况下这是不允许的,你能帮助我如何更改安全设置以便我可以写入文件吗。 谢谢使用浏览器绝对无法写入文件。 但是像Chrome这样的现代浏览器允许您动态创建文件 在本例中,我向文档添加了一个textarea 这有一个eventlistener onchange(所以写一些东西并在外部单击使其模糊) 一旦更改,它将读取textarea的值并将其转换为base64 使用btoa() 数据被添加到新创建的锚的href中,该锚的前缀为(text/plain)作为mimetype和data:告诉浏览

我知道默认情况下这是不允许的,你能帮助我如何更改安全设置以便我可以写入文件吗。
谢谢

使用浏览器绝对无法写入文件。 但是像Chrome这样的现代浏览器允许您动态创建文件

在本例中,我向文档添加了一个textarea

这有一个eventlistener onchange(所以写一些东西并在外部单击使其模糊)

一旦更改,它将读取textarea的值并将其转换为base64

使用
btoa()

数据被添加到新创建的锚的href中,该锚的前缀为(text/plain)作为mimetype和data:告诉浏览器它是数据字符串而不是链接

Chrome在锚上还有一个新属性,名为
download
。基本上就是文件名

这是现代浏览器中创建文件客户端的最快、最简单的方法

你只需点击下载即可

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>write to file</title>
</head>
<body>
<script>
var t=document.createElement('textarea');
t.addEventListener('change',function(){
 var a=document.createElement('a');
 a.download='text.txt';
 a.innerText='download';
 a.href='data:text/plain;base64,'+btoa(this.value);
 document.body.appendChild(a);
},false)
document.body.appendChild(t);
</script>
</body>
</html>

写入文件
var t=document.createElement('textarea');
t、 addEventListener('change',function(){
var a=document.createElement('a');
a、 下载class='text.txt';
a、 innerText='download';
a、 href='data:text/plain;base64'+btoa(this.value);
文件.正文.附件(a);
},错)
文件.正文.附件(t);
另一个解决方案是使用现代的仅浏览器
窗口.文件系统
,它将您需要的文件存储在虚拟chrome缓存(temporany或persistant)中。 文件系统可以将大文件存储为blob,并且使用的资源较少

然后是用于小文件的localstorage/indexedDB/websql

在上一个解决方案中,您需要将数据另存为base64,否则无法存储信息

在所有的解决方案中,您的浏览器中都有文件,您需要一个现代化的浏览器……但您需要下载文件


如果要在现有文件上写入数据,可以使用
FileReadr()
FileWriter.append()
并拖放或仅通过简单的文件输入来选择现有文件。

使用浏览器绝对无法写入文件。 但是像Chrome这样的现代浏览器允许您动态创建文件

在本例中,我向文档添加了一个textarea

这有一个eventlistener onchange(所以写一些东西并在外部单击使其模糊)

一旦更改,它将读取textarea的值并将其转换为base64

使用
btoa()

数据被添加到新创建的锚的href中,该锚的前缀为(text/plain)作为mimetype和data:告诉浏览器它是数据字符串而不是链接

Chrome在锚上还有一个新属性,名为
download
。基本上就是文件名

这是现代浏览器中创建文件客户端的最快、最简单的方法

你只需点击下载即可

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>write to file</title>
</head>
<body>
<script>
var t=document.createElement('textarea');
t.addEventListener('change',function(){
 var a=document.createElement('a');
 a.download='text.txt';
 a.innerText='download';
 a.href='data:text/plain;base64,'+btoa(this.value);
 document.body.appendChild(a);
},false)
document.body.appendChild(t);
</script>
</body>
</html>

写入文件
var t=document.createElement('textarea');
t、 addEventListener('change',function(){
var a=document.createElement('a');
a、 下载class='text.txt';
a、 innerText='download';
a、 href='data:text/plain;base64'+btoa(this.value);
文件.正文.附件(a);
},错)
文件.正文.附件(t);
另一个解决方案是使用现代的仅浏览器
窗口.文件系统
,它将您需要的文件存储在虚拟chrome缓存(temporany或persistant)中。 文件系统可以将大文件存储为blob,并且使用的资源较少

然后是用于小文件的localstorage/indexedDB/websql

在上一个解决方案中,您需要将数据另存为base64,否则无法存储信息

在所有的解决方案中,您的浏览器中都有文件,您需要一个现代化的浏览器……但您需要下载文件


如果要在现有文件上写入数据,可以使用
FileReadr()
FileWriter.append()
并拖放或仅通过简单的文件输入来选择现有文件。

不行。从网上试试?您甚至可以覆盖一些默认值。您想将文件写入实际驱动器,还是只写入html5文件系统?您不能。从网上试试?您甚至可以通过覆盖一些默认值来实现。您想将文件写入实际驱动器,还是只写入html5文件系统?