由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - javascript读本地文件问题
相关主题
Javascript XMLHttpRequest里面哪里错了angular Q: promise chain vs async waterfall
node.js, express, sails, angularjs在一起做project,折磨人啊tensorflow.js
求一网络编程解决办法python 问题
新手问题:javascript做的网页如何post和get数据?[合集] 统一的regex (grep, sed, awk, python,..)
JQuery (转载)metaprogramming
Chomr/Firefox的extension能否往其他网站写数据?算法求教
请教一个Android的简单HTTP REST编程问题 (转载)高人指点怎么在embedded sys(atmel 系列)上写内存管理 (转载)
Angular难题:angular.js:12477 SyntaxError: Unexpected token >问个关于数组的问题
相关话题的讨论汇总
话题: br话题: 文件话题: alltext话题: 本地话题: var
进入Programming版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
根据stackoverflow上的讨论,
https://stackoverflow.com/questions/14446447/how-to-read-a-local-text-file?
rq=1
因为比较新的所谓 same-origin-policy,之前的很多自动读本地硬盘文件的办法不能
用了。(例如下面这段代
码,不能用了)
那目前最推荐的办法是什么呢?
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
}
rawFile.send(null);
}
s*i
发帖数: 5025
2
用户选中文件后,上载到某个服务器,然后再AJAX请求回来?

【在 g****t 的大作中提到】
: 根据stackoverflow上的讨论,
: https://stackoverflow.com/questions/14446447/how-to-read-a-local-text-file?
: rq=1
: 因为比较新的所谓 same-origin-policy,之前的很多自动读本地硬盘文件的办法不能
: 用了。(例如下面这段代
: 码,不能用了)
: 那目前最推荐的办法是什么呢?
: function readTextFile(file)
: {
: var rawFile = new XMLHttpRequest();

g****t
发帖数: 31659
3
这个似乎挺tricky的。用按钮选中文件。每个浏览器都没问题,用ajax或者更老的
技术都可以。
但是下面这种,文件名在变量里就不容易。
var filePath = "file:///C:/your/path/to/file.txt"
readTextFile(filePath);
use case是,我想用另一个程序每秒钟写一次本地的一个data.csv,
javascript每秒钟读一次,在浏览器里面展示一下。还想data.csv这个文件名是可
已根据程序逻辑变化的。
现在看来,还是用一个简单的webserver在本地,当作数据交互的界面,可能比较稳妥。

【在 s*i 的大作中提到】
: 用户选中文件后,上载到某个服务器,然后再AJAX请求回来?
s*i
发帖数: 5025
4
如果不是给傻瓜用户使用(因为如果建立local server一类的,必然要求在客户端装各
种软件),那么更简洁的办法可以考虑装个ChromePlugin一类的。参考:
https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-
chrome
g****t
发帖数: 31659
5
disable这个policy是不错的选项。我研究下。
我可以弄个script,自动起来chrome with correct policy。
local server确实比较麻烦。

【在 s*i 的大作中提到】
: 如果不是给傻瓜用户使用(因为如果建立local server一类的,必然要求在客户端装各
: 种软件),那么更简洁的办法可以考虑装个ChromePlugin一类的。参考:
: https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-
: chrome

d******c
发帖数: 2407
6
R shiny实际就是这样,启动一个本地server,可以访问本地文件。
你这个use case是Shiny reactive read的典型例子。
https://shiny.rstudio.com/gallery/reactive-poll-and-file-reader.html
g****t
发帖数: 31659
7
Rstudio 这个用例,有没有处理文件的read-write conflict ?
怎么处理的?
他给的这个例子,一边0.5秒的周期,另一边4秒。似乎有点取巧了。


: R shiny实际就是这样,启动一个本地server,可以访问本地文件。

: 你这个use case是Shiny reactive read的典型例子。

: https://shiny.rstudio.com/gallery/reactive-poll-and-file-reader.
html



【在 d******c 的大作中提到】
: R shiny实际就是这样,启动一个本地server,可以访问本地文件。
: 你这个use case是Shiny reactive read的典型例子。
: https://shiny.rstudio.com/gallery/reactive-poll-and-file-reader.html

d******c
发帖数: 2407
8
一个只读,一个只写,没有什么conflict的地方吧?最多读的不是最新状态

【在 g****t 的大作中提到】
: Rstudio 这个用例,有没有处理文件的read-write conflict ?
: 怎么处理的?
: 他给的这个例子,一边0.5秒的周期,另一边4秒。似乎有点取巧了。
:
:
: R shiny实际就是这样,启动一个本地server,可以访问本地文件。
:
: 你这个use case是Shiny reactive read的典型例子。
:
: https://shiny.rstudio.com/gallery/reactive-poll-and-file-reader.
: html
:

g****t
发帖数: 31659
9
例如一个log行没写完,就读了https://en.m.wikipedia.org/wiki/Read–write_
conflict


: 一个只读,一个只写,没有什么conflict的地方吧?最多读的不是最新状态



【在 d******c 的大作中提到】
: 一个只读,一个只写,没有什么conflict的地方吧?最多读的不是最新状态
d******c
发帖数: 2407
10
wiki的例子是两个线程都在写。
没写完就读,读的就是没写之前的状态(或者写到一半?这可能依赖于底层细节),但
这不是conflict。

【在 g****t 的大作中提到】
: 例如一个log行没写完,就读了https://en.m.wikipedia.org/wiki/Read–write_
: conflict
:
:
: 一个只读,一个只写,没有什么conflict的地方吧?最多读的不是最新状态
:

相关主题
请教一个Android的简单HTTP REST编程问题 (转载)tensorflow.js
Angular难题:angular.js:12477 SyntaxError: Unexpected token >python 问题
angular Q: promise chain vs async waterfall[合集] 统一的regex (grep, sed, awk, python,..)
进入Programming版参与讨论
g****t
发帖数: 31659
11
Rstudio的例子是一個線程?我要的也是兩個線程或者進程。


: wiki的例子是两个线程都在写。

: 没写完就读,读的就是没写之前的状态(或者写到一半?这可能依赖于底层细节
),但

: 这不是conflict。



【在 d******c 的大作中提到】
: wiki的例子是两个线程都在写。
: 没写完就读,读的就是没写之前的状态(或者写到一半?这可能依赖于底层细节),但
: 这不是conflict。

d******c
发帖数: 2407
12
有一段code在间隔性地写,两段不同的code按不同的间隔,不同的实现方式去读。
写的只有一个,就没有问题。
你之前说的你的用例也只有一个在写啊。要多个写,那除非搞成数据库类似的atom操作
,否则没有办法。

【在 g****t 的大作中提到】
: Rstudio的例子是一個線程?我要的也是兩個線程或者進程。
:
:
: wiki的例子是两个线程都在写。
:
: 没写完就读,读的就是没写之前的状态(或者写到一半?这可能依赖于底层细节
: ),但
:
: 这不是conflict。
:

g****t
发帖数: 31659
13
只有一个exe程序在不停的写文件。另一个exe程序在不停的读。但是一行没写完的时候
,读就发生了。那读出来的内容就
可能不对啊。
现在考虑每行加个checksum字段。


: 有一段code在间隔性地写,两段不同的code按不同的间隔,不同的实现方
式去读。

: 写的只有一个,就没有问题。

: 你之前说的你的用例也只有一个在写啊。要多个写,那除非搞成数据库类
似的
atom操作

: ,否则没有办法。



【在 d******c 的大作中提到】
: 有一段code在间隔性地写,两段不同的code按不同的间隔,不同的实现方式去读。
: 写的只有一个,就没有问题。
: 你之前说的你的用例也只有一个在写啊。要多个写,那除非搞成数据库类似的atom操作
: ,否则没有办法。

d******c
发帖数: 2407
14
读出来的内容在逻辑上仍然是正确的,不符合你的要求的话,那就只能自己加检查了。
如果是csv的话,丢掉不完整的行吧

【在 g****t 的大作中提到】
: 只有一个exe程序在不停的写文件。另一个exe程序在不停的读。但是一行没写完的时候
: ,读就发生了。那读出来的内容就
: 可能不对啊。
: 现在考虑每行加个checksum字段。
:
:
: 有一段code在间隔性地写,两段不同的code按不同的间隔,不同的实现方
: 式去读。
:
: 写的只有一个,就没有问题。
:
: 你之前说的你的用例也只有一个在写啊。要多个写,那除非搞成数据库类
: 似的

s*i
发帖数: 5025
15
可以考虑用俩文件折腾。比如写的时候写到一个临时文件里,只有写完了,lreplace
现有文件。


: 只有一个exe程序在不停的写文件。另一个exe程序在不停的读。但是一行没写完
的时候

: ,读就发生了。那读出来的内容就

: 可能不对啊。

: 现在考虑每行加个checksum字段。

:

【在 g****t 的大作中提到】
: 只有一个exe程序在不停的写文件。另一个exe程序在不停的读。但是一行没写完的时候
: ,读就发生了。那读出来的内容就
: 可能不对啊。
: 现在考虑每行加个checksum字段。
:
:
: 有一段code在间隔性地写,两段不同的code按不同的间隔,不同的实现方
: 式去读。
:
: 写的只有一个,就没有问题。
:
: 你之前说的你的用例也只有一个在写啊。要多个写,那除非搞成数据库类
: 似的

g****t
发帖数: 31659
16
是的。如果不用os提供的硬件锁,搞搞软件的dirty trick其实挺有意思的。
这个例子就是单用户一个传感器进来的数据,然后画个图。只要冲突的概率小一些程度
就可以了。

【在 s*i 的大作中提到】
: 可以考虑用俩文件折腾。比如写的时候写到一个临时文件里,只有写完了,lreplace
: 现有文件。
:
:
: 只有一个exe程序在不停的写文件。另一个exe程序在不停的读。但是一行没写完
: 的时候
:
: ,读就发生了。那读出来的内容就
:
: 可能不对啊。
:
: 现在考虑每行加个checksum字段。
:
:

s*i
发帖数: 5025
17
如果数量不是非常大,安全性没有要求,还可以用websocket,或者long-polling,稍
微复杂一点。
优点是实时性强,另外因为服务器端控制什么时候push数据出去,没有数据完整性大顾
虑。

【在 g****t 的大作中提到】
: 是的。如果不用os提供的硬件锁,搞搞软件的dirty trick其实挺有意思的。
: 这个例子就是单用户一个传感器进来的数据,然后画个图。只要冲突的概率小一些程度
: 就可以了。

c*******v
发帖数: 2599
18
你提醒了我。读写之前看一下时钟,读写的时间错开一定距离,应该就没大问题了。
我只要确保demo的时候不要当场出几个怪图就好。机器一开,这边图画出来的小demo。

【在 s*i 的大作中提到】
: 如果数量不是非常大,安全性没有要求,还可以用websocket,或者long-polling,稍
: 微复杂一点。
: 优点是实时性强,另外因为服务器端控制什么时候push数据出去,没有数据完整性大顾
: 虑。

1 (共1页)
进入Programming版参与讨论
相关主题
Re: 为什么这个版很多人都贬腾讯扬MSN (转载)JQuery (转载)
面试题 - 怎么防范大规模的网络攻击?Chomr/Firefox的extension能否往其他网站写数据?
分享:Go语言黑魔法(内存)请教一个Android的简单HTTP REST编程问题 (转载)
面向对象的语言Angular难题:angular.js:12477 SyntaxError: Unexpected token >
Javascript XMLHttpRequest里面哪里错了angular Q: promise chain vs async waterfall
node.js, express, sails, angularjs在一起做project,折磨人啊tensorflow.js
求一网络编程解决办法python 问题
新手问题:javascript做的网页如何post和get数据?[合集] 统一的regex (grep, sed, awk, python,..)
相关话题的讨论汇总
话题: br话题: 文件话题: alltext话题: 本地话题: var