项目上线之后,如果是后端报错,只能重新编译打包部署然后重启,如果仅仅是前端页面,样式,脚本修改,只需要替换到就可以了。
小公司的话可能比较自由,可以随意替换,但是有些公司权限设置的比较严格,需要提交申请交给运维去处理。
如果仅仅是一个前端问题,又很紧急,这时候提申请走流程势必会影响到用户的正常使用。
今天,给大家推荐一款前端代码文件编辑器来解决以上问题。
定义实体,用于前端文件树展示:
<前> <代码>SysFile {
,, 整数文件标识;
,, 名称;
,, 整数parentId;
,, parentPath;
}
代码>
由于项目采用的是SpringBoot框架,打成了战争包部署,后端采用以下方式获取文件列表:
<前> <代码>(值=https://www.yisu.com/zixun/方法=RequestMethod.POST)
结果 FileNotFoundException {
,,字符串filePath=ResourceUtils.getURL ( ).getPath ();
,,List
,,getAllFilePaths (filePath文件列表, , );
,, Result.ok(文件列表);
}
代码>
递归获取某目录下的所有子目录以及子文件:
<前> <代码>List
){
,文件[]文件=文件(filePath) .listFiles ();
,, (文件==){
,,,, filePathList;
,,}
,, (文件文件:文件){
,,,, num=filePathList.size () + ;
,,,,SysFile SysFile=SysFile ();
,,,,sysFile.setName (file.getName ());
,,,,sysFile.setFileId (num);
,,,,sysFile.setParentId(水平);
,,,, (file.isDirectory ()) {
,,,,,, (要求等级==) {
,,,,,,,, (file.getName ()。 ( )| |
,,,,,,,,,,,,file.getName ()。 ( )){
,,,,,,,,,filePathList。 (sysFile);
,,,,,,,,,,parentPath=SystemConstant.SF_FILE_SEPARATOR + file.getName ();
,,,,,,,,,,getAllFilePaths (file.getAbsolutePath ()、filePathList num, parentPath);
,,,,,,,,,,num + +;
,,,,,,,,}
,,,,,,} {
,,,,,,,filePathList。 (sysFile);
,,,,,,,,字符串subParentPath=parentPath + SystemConstant.SF_FILE_SEPARATOR + file.getName ();
,,,,,,,,getAllFilePaths (file.getAbsolutePath ()、filePathList num, subParentPath);
,,,,,,,,num + +;
,,,,,,}
,,,,} {
,,,,,, (要求等级!=) {
,,,,,,,,sysFile.setParentPath (parentPath + SystemConstant.SF_FILE_SEPARATOR + file.getName ());
,,,,,,,filePathList。 (sysFile);
,,,,,,,,num + +;
,,,,,,}
,,,,}
,,}
,, filePathList;
}
代码>
获取文件内容:
<前> <代码>@RequestMapping (value=https://www.yisu.com/zixun/方法=RequestMethod.POST)
getContent ( filePath)抛出FileNotFoundException {
,, 路径=ResourceUtils.getURL ( ).getPath ();
,, 内容=FileUtil.readUtf8String(路径+ filePath);
,, 对吧(内容);
}
代码>
修改保存:
<前> <代码>@RequestMapping (=⒎椒?RequestMethod.POST)
结果 ( )抛出FileNotFoundException {
,,=ResourceUtils.getURL(字符串路径 ).getPath ();
,,
,, (活跃。 ( )){
,,,, Result.error ( );
,,} {
,,,文件文件=文件(路径+ filePath);
,,,, lastModified=file.lastModified ();
,,,,FileUtil.writeUtf8String(内容、路径+ filePath);
,,,,file.setLastModified (lastModified);
,,,, Result.ok ();
,,}
}
代码>
当然了,如果代码修改比较多,也可以对文件进行上传覆盖操作。