如何使用JavaScript在浏览器中存储文件

Shy*_*xit 5 html javascript browser

我正在为网站原型工作(仅基于浏览器).有一部分我需要上传一些文件.我在使用JavaScript和HTML.

每当用户想要上传(如应用程序中的浏览按钮)一些文件,然后它将在下次可用.我无法做到这一点.

问题我们可以在浏览器中使用JavaScript/HTML保存/存储/上传文件(非服务器)吗?

谢谢

小智 5

将文件直接下载到用户的文件系统

如果您通过保存/存储意味着直接到用户的计算机/文件系统,那么不,由于安全原因,这是不可能的。

但是,您可以启动下载,这将弹出“另存为”类型的请求者并允许用户接受或拒绝下载文件。

启动下载的方法不止一种。一个有趣的是锚标记的新download 属性,您可以在其中指定文件名并自动启动下载,将其设置hrefdata-uri或其他您想要引用的下载内容:

<a href="urlToFile" download="myFile.ext">Click to download</a>
Run Code Online (Sandbox Code Playgroud)

本地存储机制

如果您只是想在本地保存文件您可以使用多种本地存储机制之一,例如:

请注意,所有这些都被沙盒化,并且只能在使用与编写它们相同的来源的浏览器中使用。数据也可能会或可能不会在任何时候(由用户或浏览器)丢弃,因此它们不是“安全”存储(始终保留服务器副本或重新生成数据的方法)。


Arp*_*pit -3

“我们可以仅在浏览器(而不是服务器)中使用 JavaScript/HTML 保存/存储/上传文件吗?”

答。没有。如果您想保留上传的文件,则需要将其存储在服务器上。

一旦浏览器选项卡关闭,文件就会丢失。

替代方案:您可以做的是将文件的名称存储在服务器上,每当用户请求该文件时就要求他上传它。

要将文件上传到内存中,您可以参考此链接

现场演示