繁体   English   中英

如何访问客户端计算机上的文件

[英]how to access a file on the client's machine

我有几个客户端将使用我的网站,并且我希望每个客户端都有自己的“配置”文件(例如:一台计算机的location = 1,另一台计算机的location = 2)。 我想使用放置在客户端计算机上的文件来执行此操作,然后当他们访问网站时,客户端会在自己的计算机上查找并根据该文件中的内容确定要加载的内容。 该文件可以是CSV文件,纯文本文件,也可以是使其运行所需的任何其他类型的文件。

在网上看,我所看到的只是文件上传器的内容。 我不希望他们选择文件,只是让文件内容加载并在执行时调用javascript函数。

文件示例

Location=1
AnswerToQuestion=42

和另一个文件

Location=2
AnswerToQuestion=15

和我的JS功能

var setAnswerToQuestion = function(answer){
  locationConfig.setAnswer(answer)
}

看一下本地存储 这是浏览器实现的持久键/值系统,用于保存您的网站/ webapp的数据。

基本原理:

设置变量:

localStorage.setItem('answer_1', '42');

要获取变量:

localStorage.getItem("answer_1");

我想如果您有很多答案,您最终会得到像这样的数组/对象:

var answers = [42, 15];

寻求解决方案:

您可以使用JSON.stringify存储和检索

localStorage.setItem('answers', JSON.stringify(answers));

var answers = JSON.stringify(localStorage.getItem('answers'));

受过教育

Smashing Magazine 在这里有一个教程
深入HTML5 这里有一个教程

如果不使用“文件上载”,则无法访问本地计算机上的文件。 您可以将配置文件存储在浏览器本地存储中,如下所示:

var getConfigData = function() {
    return JSON.parse(localStorage.getItem('config'));
}

var saveConfigData = function(config) {
    localStorage.setItem('config', JSON.stringify(config));
}

var addDataToConfig = function(key, value) {
    var config = getConfigData();
    config[key] = value;
    saveConfigData(config);
}

var config = {
    Location: 1,
    AnswerToQuestion: 42
};

// save new config
saveConfigData(config);

// add new data to config
addDataToConfig('name', 'John Doe');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM