js读取服务器html文件,【未解决】js中将html内容保存到服务器上的本地的html文件..._Arsd的博客-程序员宅基地

技术标签: js读取服务器html文件  

【背景】

之前已经实现了:

网页中,点击某个按钮,可以调用到js获得到KindEditor的html的内容:

function submitGoodsContent()

{

var kindeditor = window.editor;

// 取得HTML内容

html = kindeditor.html();

console.log(html);

}

商品名:

在此输入新产品的介绍内容

提交当前页面

现在希望实现,不仅仅是获得HTML内容, 而是保存html内容到html文件,并保存到服务器的本地。便于后期加载。

【解决过程】

1.搜:

js save html to file

参考:

->

顺便看看demo:

下载得到:

FileSaver.js-master.zip

发现还要下载:

2.然后把对应js文件放到对应位置:

9ba944ead39cede5caf6e106eb060262.png

用了下面的代码:

(1)父页面中引用了js:

index.jsp

(2)子页面中的代码:

function submitGoodsContent()

{

var kindeditor = window.editor;

// 取得HTML内容

html = kindeditor.html();

console.log(html);

var blob = new Blob([html], {type: "text/plain;charset=utf-8"});

saveAs(blob, "savedHtml.html");

}

商品名:

在此输入新产品的介绍内容

提交当前页面

运行效果:

点击按钮后,保存内容为新的html文件:

42eb204931fe8a9c752abd92cfc87d61.png

保存的文件内容为:

c38f3809f0cb1771bc00409f87bae6cf.png

貌似不错,可是不是我要的。

我要的是:

直接将对应html文件保存到,此处的Tomcat所在的,服务器上面的某个文件夹,而不是下载该文件。。。

3.参考:

结果也还是用了Blog,去下载文件的那种。。。

4.搜:

js write text to file

参考:

5.搜:

jsp write text to file

参考:

这个只是针对Firefox的。

不通用。

6.又去参考了:

试试:function submitGoodsContent()

{

var kindeditor = window.editor;

// 取得HTML内容

html = kindeditor.html();

console.log(html);

// var blob = new Blob([html], {type: "text/plain;charset=utf-8"});

// saveAs(blob, "savedHtml.html");

var saveFilePath = "savedHtml.html";

var htmlFile = new File(saveFilePath);

htmlFile.open("w");

htmlFile.writeln(html);

htmlFile.close();

}

结果出错:Uncaught TypeError: Failed to construct ‘File’: 2 arguments required, but only 1 present.

23840f9089a7d07bcbdd3269011f8bf4.png

7.然后去搜:

js file

JavaScript 文件 操作

参考:

提到了:HTML5 FileSystem API包括几个部分:

1.文件读取接口: File/Blob, FileList, FileReader

2.创建和写入接口: BlobBuilder, FileWriter

3.目录和文件读取接口: DirectoryReader, FileEntry/DirectoryEntry, LocalFileSystem

W3C规范定义了两种方式异步和同步(asynchronous and synchronous)。异步方式适用于普通程序,可以防止阻塞。同步方式用于Web Workers。

提到了:File API是html5新标准,既可以读文件,也可以写文件,注意这里的

读文件:OS中文件系统中的文件 读到 浏览器页面 中

写文件:将 浏览器页面数据 写到 浏览器文件系统 中

所以不是我此处所希望的:

将页面数据,写入到 服务器的文件系统中。

8.又参考了其他资料:

搜:

ActiveXObject

->

还是没有找到解决办法。

【总结】

最终的结果是:

无法用js直接保存xxx.html文件到服务器上面的文件系统中的某个路径。

最接近的做法只能是:

将xxx.html作为可以下载的文件,实现文件下载的方式给用户。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_36202273/article/details/118374412

智能推荐

CRT、ATL、MFC 三者介绍和关系_17岁boy想当攻城狮的博客-程序员宅基地

CRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以看到CRT的源码,不仅有C的,也有C++的。 CRT原先的目的就是支持操作系统的运行。因为Windows操作系统...

添加 JVM 参数选项_chengqiuming的博客-程序员宅基地_添加jvm参数

一IDEEclipse 和IDEA中配置简单,在 Run Configurations 中 VM Options 中配置即可,大同小异。二 运行 jar 包java -Xms100m -Xmx100m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar demo.jar三 Tomcat 运行 war 包# Linux 下tomcat/bin/catalina.sh 添加JAVA_OPTS="-Xms512M -Xmx102...

Paros教程_地球胖头鱼的博客-程序员宅基地

Paros介绍Paros是一种利用纯java语言开发的安全漏洞扫描工具,它主要是为了满足那些需要对自己的web应用程序进行安全检测的应用者而设计的。通过Paros的本地代理,所有在客户端与服务器端之间的http和https数据信息,包括cookie和表单信息都将被拦截或者是修改。paros proxy,这是一个对Web 应用程序的漏洞进行评估的代理程序,即一个基于Java的web 代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies 和表单字段等项

graceful_stop.sh_myrainblues的博客-程序员宅基地

#!/usr/bin/env bash##/**# * Copyright 2011 The Apache Software Foundation# *# * Licensed to the Apache Software Foundation (ASF) under one# * or more contributor license agreements.  See t

java设计模式之代理模式1--静态代理_2Tree的博客-程序员宅基地

Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:助手。代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。1.)首先新建一个表演的接口package com.zhong.pattern.proxy;/** * 表演接口 * @author admin * */...

历经两个月,我的秋招之路结束了!_程宇寒的博客-程序员宅基地

历经两个月的秋招总算是结束了,从七月份开始复习秋招相关知识,到八月多开始笔试、面试,到九月下旬的秋招结束,在笔试面试的这两个月里,还是挺累的。这篇文章就说说秋招这段时间的收获以及给对于明年要参加秋招的同学的一些建议吧。对了,文末也给大家准备的一波价值900+元的福利哦。把我半个月的生活费拿出来了一、最后去的公司对于我来说,这次秋招算是满意的吧,找到了想去的城市(深圳)以及公司(腾讯),...

随便推点

linux内核移植到stm32,STM32 移植Linux内核_weixin_39931923的博客-程序员宅基地

Install arm toolchain:arm-2010q1-189-arm-uclinuxeabi-i686-pc …. uncompress first and move the directory to /usr/bin use:tar jxvf arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2mv arm-2010q1 /...

java nio和io_无怨_无悔的博客-程序员宅基地

基本概念:Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当

ROS机械臂开发:从入门到实践---学习笔记(8)_Hey_amov的博客-程序员宅基地

第八章作业第一题 安装ROS摄像头驱动功能包,驱动笔记本摄像头,并使用ROS可视化工具显示图像1.1 安装驱动功能包ROS中有通用USB摄像头的驱动功能包——usb_cam,安装后很快就可以把摄像头跑起来,在该功能包的wiki上我们可以看到详细的接口说明,最终的图像将通过<camera_name>/image发布出来,订阅后就可以看到图像了。在终端输入依次输入:sudo apt-get install ros-melodic-usb-camroslaunch usb_cam usb_

函数返回值的问题_dreamzqw的博客-程序员宅基地

 函数返回问题一个应用系统要正确稳写地运行,必须要对各个函数的返回值进行正确的判断,若函数没有正确的持行,而上层应用又没有进行错误处理的话,程序很有可能进入到一个不确写的状态。从而导至系统的不稳定,那么当一个函数没有正确持行时,应当怎样返回才能使上层调用方便地知道函数没有正确持行而进行错误处理呢,又要怎样才能使错误处理代码简单而有效呢。方案一:若函数成功返回,则返回一个正值,错误时返回

前缀中缀后缀表达式介绍_chengqiuming的博客-程序员宅基地_前缀中缀后缀表达式

一前缀表达式1 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。2 举例(3+4)×5-6 对应的前缀表达式是: - × + 3 4 5 63前缀表达式的计算机求值过程从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 和 次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。例如: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6 , 针对前缀表达...

推荐文章

热门文章

相关标签