保存页面文本到本地文件&&读取本地文件内容到页面

问题描述:假设网页有个文本框之类的东西,想通过点击某一按钮后,将用户在文本框中输入的内容直接保存在本地某个文件中。同理,也想通过页面直接读取本地文件中的内容。

 

问题分析:因为整个处理过程不涉及到后台的运行,所以处理过程应该在前台进行处理。那就是通过js代码来处理。

 

解决过程:通过在网上查找,发现了js中的ActiveXObject类。

 

将页面用户填入的信息保存到本地文件中:


function getInfoFromWeb() {
    var strFile = "D:\\test.txt";    //定义文件保存的路径
    
    //new一个ActiveXObject类的对象。
    var objFSO = new ActiveXObject("Scripting.FileSystemObject");
    
    // 检查文件是否存在
    if (!objFSO.FileExists(strFile)) {
        // 创建文本文件
        var objStream = objFSO.CreateTextFile(strFile, true);
        objStream.Write("在这里填写需要在文本中存放的值,可以是一个变量");
        objStream.Close(); // 关闭文件
        alert("ok");
    }
    else {
        alert("文本文件: " + strFile + "已经存在<br>");
    }
}

读取本地文件中的内容到前端页面:

function readInfoToWeb(){
    var fso, ts, s; //fso为ActiveXObject类的对象,ts为需要打开的文件对象,s保存从文件对象ts中读取的内容
    var ForReading = 1; 
    
    //new一个ActiveXObject类的对象
    fso = new ActiveXObject("Scripting.FileSystemObject");
    //打开文件路径
    ts = fso.OpenTextFile("d:\\testfile.txt", ForReading);
    //读取文件内容
    s = ts.ReadLine();
    //将文件内容写入到对应的标签中
    document.getElementById("这里填写对应标签的id").innerHTML = s; 
}


注:以上的代码只可以在IE中成功运行。
————————————————
版权声明:本文为CSDN博主「王Bob」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

在这篇文章中介绍的比较全面,感谢!如需了解ActiveXObject类,请参考内容:http://www.jsann.com/post/activexobject_in_javascript.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 React Native 中,可以使用 `react-native-fs` 模块来读取本地文件。下面是一个简单的示例代码: ```javascript import React, { useEffect, useState } from 'react'; import { View, Text } from 'react-native'; import RNFS from 'react-native-fs'; const App = () => { const [text, setText] = useState(''); useEffect(() => { const filePath = RNFS.DocumentDirectoryPath + '/example.txt'; RNFS.readFile(filePath, 'utf8') .then(data => setText(data)) .catch(error => console.log(error)); }, []); return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> <Text>{text}</Text> </View> ); }; export default App; ``` 在上面的代码中,我们使用 `useEffect` 钩子来在组件加载完成后读取本地的 `example.txt` 文件。我们首先定义了一个 `text` 状态来保存文本内容。在 `useEffect` 中,我们使用 `RNFS.DocumentDirectoryPath` 获取应用的文档目录路径,并拼接上文件名,得到文件的完整路径。然后我们调用 `RNFS.readFile` 方法并传入文件路径和编码方式,以读取文件内容读取成功后,我们将文本内容更新到 `text` 状态中,并在页面上渲染出来。 需要注意的是,读取本地文件需要在应用的 `android/app/src/main/AndroidManifest.xml` 文件中添加文件读取权限: ```xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <application> <!-- ... --> </application> </manifest> ``` 同时在 iOS 平台上,需要在 Xcode 中手动添加文件读取权限。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值