Javascript 在SAPUI5应用程序中上载、读取、写入和下载HTML文件
我想创建一个可以上传HTML文件的SAPUI5应用程序。下一步应该读取文件的内容。在标题标记之后,将在内容中插入额外的文本,新文件将可供下载。更清楚地说:Javascript 在SAPUI5应用程序中上载、读取、写入和下载HTML文件,javascript,html,file-upload,sapui5,Javascript,Html,File Upload,Sapui5,我想创建一个可以上传HTML文件的SAPUI5应用程序。下一步应该读取文件的内容。在标题标记之后,将在内容中插入额外的文本,新文件将可供下载。更清楚地说: 上载现有HTML文件 使用附加文本编辑HTML文件 使编辑的HTML文件可供下载 有什么想法吗 使用纯UI5很容易做到这一点,而不需要使用WebIDE之类的工具 您需要特别使用三个类: :用于上载文件的控件 :用于显示和编辑代码的控件(具有语法突出显示) :用于下载内容的实用程序类 假设您不想进行后端往返来读取文件,您也可以使用API 因
有什么想法吗 使用纯UI5很容易做到这一点,而不需要使用WebIDE之类的工具 您需要特别使用三个类:
- :用于上载文件的控件
- :用于显示和编辑代码的控件(具有语法突出显示)
- :用于下载内容的实用程序类
onChangeFile:function(oEvent){
var oModel=this.getView().getModel();
var oReader=new FileReader();
oReader.onload=函数(){
oModel.setProperty(“/code”,或reader.result);
}
oReader.readAsText(oEvent.getParameter(“文件”)[0]);
},
onDownload:function(){
var sText=this.getView().getModel().getProperty(“/code”);
保存(sText,“下载”,“html”);
}
你可以在这里找到一把小提琴:
以后编辑: 如果您只需要在没有用户交互的情况下更改文件,那么您只需要执行步骤1和2。对于步骤2,处理程序可以如下所示:
onChangeFile:function(oEvent){
var oModel=this.getView().getModel();
var oReader=new FileReader();
oReader.onload=函数(){
//用oReader做点什么结果。。。
var sNewContent=oReader.result+“某物”;
保存(sNewContent,“下载”,“html”);
}
oReader.readAsText(oEvent.getParameter(“文件”)[0]);
}
在线编辑HTML文件(如在SAP Web IDE中)是否需要一些额外的格式选项?或者仅仅一个文本区就足够了?嗨,塞尔维亚人!我真的不需要CodeEditor控件。应用程序应在标题标签后自动添加一些固定内容(例如),并准备好下载。这也可能吗?谢谢你,当然!您不一定需要使用代码编辑器本身。您可以立即下载或等待用户按下按钮。对于第一个案例,我编辑了答案。对于第二种情况,与代码编辑器相同(您只需将更新后的代码直接存储在JSONModel中,而不让用户自己更改代码),这听起来不错!还有一个问题:我尝试使用var content=oReader.result将html内容作为字符串获取
afteroReader.readAsText(oEvent.getParameter(“文件”)[0])代码>。这对我不起作用。我做错了什么?readAsText
方法是异步的。使用文件读取器的正确方法如示例所示,但要将回调附加到onload
事件。