如何在JavaScript中序列化文件?

时间:2010-01-12 21:28:00

标签: javascript json

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

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

5 个答案:

答案 0 :(得分:7)

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

示例:http://www.webtoolkit.info/ajax-file-upload.html

答案 1 :(得分:4)

由于您无法使用Javascript访问文件系统,因此如果没有安装某种Flash或ActiveX组件,我看不出您将如何执行此操作。

答案 2 :(得分:1)

在Javascript中无法从用户的硬盘读取任意文件,它永远不会。

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


如果您想使用AJAX上传文件,则需要使用IFRAME;见here

答案 3 :(得分:0)

您无需序列化文件即可将其上传,并且JSON不参与文件上传。这里的答案可能看起来令人困惑,因为人们认为你试图偷偷上传文件。请参阅Will Bickford上面的回答(iframe)。

答案 4 :(得分:0)

你需要问如何实现更大的目标。你有一个目标,你已经确定,实现这一目标的唯一方法是在客户端上使用javascript序列化文件(这是不可能的),有些人试图破译你真正想要完成的事情和建议的答案( asynch上传等)。

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

我们需要知道的一些事情

  • 你为什么解析这个文件?
  • 您希望遇到哪些文件大小?
  • 你在用文件中的信息做什么?
  • 你为什么要在网上而不是桌面应用呢?