Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用JavaScript序列化文件?_Javascript_Json - Fatal编程技术网

如何用JavaScript序列化文件?

如何用JavaScript序列化文件?,javascript,json,Javascript,Json,我想为我的asp.net应用程序实现异步文件上载。我的想法是将文件序列化为JSON客户端,并调用web服务来重构文件服务器端。我的问题是: 如何读取二进制文件并将其序列化为JSON?该解决方案不需要使用Google Gears或“必须安装”客户端技术。谢谢 由于您无法使用Javascript访问文件系统,因此如果没有安装某种Flash或ActiveX组件,我看不出您如何能够做到这一点。不可能使用Javascript从用户硬盘读取任意文件,而且永远不会 如果你不明白为什么,想象一下如果任何网页都可

我想为我的asp.net应用程序实现异步文件上载。我的想法是将文件序列化为JSON客户端,并调用web服务来重构文件服务器端。我的问题是:


如何读取二进制文件并将其序列化为JSON?该解决方案不需要使用Google Gears或“必须安装”客户端技术。谢谢

由于您无法使用Javascript访问文件系统,因此如果没有安装某种Flash或ActiveX组件,我看不出您如何能够做到这一点。

不可能使用Javascript从用户硬盘读取任意文件,而且永远不会

如果你不明白为什么,想象一下如果任何网页都可以阅读
%USERPROFILE%\ntuser.dat
,会发生什么



如果要使用AJAX上传文件,需要使用
IFRAME
;请参阅。

使用iframe隐藏文件上载过程。您不想用JavaScript处理数据,因为它会非常慢。您所需要做的就是管理用户交互


示例:

上传文件不需要序列化,文件上传中不涉及JSON。这里的答案可能令人困惑,因为人们认为你试图秘密上传文件。见上文威尔·比克福德的答案(iframes)

你需要问如何实现更大的目标。您心中有一个目标,并且您已经确定实现这一目标的唯一方法是在客户机上用javascript序列化文件(这是不可能的),一些人试图破解您真正想要实现的内容和建议的答案(异步上传等)

告诉我们您需要完成什么,描述任务和解决方案的限制,我们可以帮助您找到解决方案

我们需要知道的一些事情

  • 你为什么要分析这个文件
  • 您希望遇到的文件大小是什么
  • 你对文件中的信息做了什么
  • 为什么你要在网络上而不是桌面应用程序上做呢

您真的在问网页如何从用户磁盘读取任意文件并发送给您吗?文件已经序列化了。根据定义。除了简单的上传,你还想做什么?@S.Lott如果文件很大,我不希望用户在页面往返到服务器时不得不等待。人们问如何做只有active x才能做的事情,然后明确地说active x是不可接受的,这是怎么回事?这件事经常发生lately@Achilles:如果不是通过上载,文件应该如何到达服务器?如果用户在上传过程中离开了你的页面怎么办?是的,我知道HTML5的新功能。这就是我说武断的原因。+1用于理解并找到海报主要问题的解决方案。