Javascript函数,可以将包含用户输入的文件下载到用户

Javascript函数,可以将包含用户输入的文件下载到用户,javascript,ajax,download,Javascript,Ajax,Download,如何使用javascript从屏幕上输入的数据创建一个文件,并将其作为下载返回给用户,而不将其保存在服务器端。 示例:用户正在使用应用程序并做一些事情。屏幕上有一个下载按钮。他们单击该按钮,就会在浏览器中开始下载包含他们作品的文件。 我还希望能够命名文件。您不能这样做。浏览器中的下载只能来自服务器,不能完全由浏览器中的Javascript生成 您可以在浏览器中创建数据,将其发送到服务器,然后允许浏览器从那里下载数据。是的,我知道这听起来很尴尬,但是Javascript不允许直接下载东西。它可以向

如何使用javascript从屏幕上输入的数据创建一个文件,并将其作为下载返回给用户,而不将其保存在服务器端。 示例:用户正在使用应用程序并做一些事情。屏幕上有一个下载按钮。他们单击该按钮,就会在浏览器中开始下载包含他们作品的文件。
我还希望能够命名文件。

您不能这样做。浏览器中的下载只能来自服务器,不能完全由浏览器中的Javascript生成

您可以在浏览器中创建数据,将其发送到服务器,然后允许浏览器从那里下载数据。是的,我知道这听起来很尴尬,但是Javascript不允许直接下载东西。它可以向服务器发出请求,然后如果服务器内容类型指定了正确的内容类型,则浏览器将提示用户下载或根据浏览器设置自动下载

有关更多信息,请参见以下其他答案:


事实上,你现在可以这样做了。实际上,您要做的是将数据推送到锚定标记的href属性中,然后激活它。我下面的例子可以下载文件,除了文件名部分没有像我预期的那样工作。从本质上讲,该代码所做的是获取您拥有的一些数据,将其推入锚定标记中,最好使用您不需要的隐藏标记,然后调用它,从而开始下载。代码示例:

var downloadFile=functiondata{ var a; a=document.getElementByIdmyHiddenAnchorTag; a、 下载=我希望用户看到的文件名。扩展名; a、 href=data:text/csv;base64,+window.btoaJSON.stringifydata; window.open$myHiddenAnchorTag.attrref,我希望用户看到的文件名.extension; };你看到这个答案了吗?