我想为我的asp.net应用程序实现异步文件上传。我的想法是将文件序列化为JSON客户端,并调用Web服务重新构建文件服务器端。我的问题是:
如何将文件读取为二进制文件并将其序列化为JSON?该解决方案不需要使用Google Gears或“必须安装”客户端技术。谢谢!
答案 0 :(得分:7)
使用iframe隐藏文件上传过程。您不希望在JavaScript中处理数据,因为它会非常慢。您需要做的就是管理用户交互。
答案 1 :(得分:4)
由于您无法使用Javascript访问文件系统,因此如果没有安装某种Flash或ActiveX组件,我看不出您将如何执行此操作。
答案 2 :(得分:1)
在Javascript中无法从用户的硬盘读取任意文件,它永远不会。
如果你不明白为什么,想象如果任何网页可以阅读%USERPROFILE%\ntuser.dat
会发生什么。
如果您想使用AJAX上传文件,则需要使用IFRAME
;见here。
答案 3 :(得分:0)
您无需序列化文件即可将其上传,并且JSON不参与文件上传。这里的答案可能看起来令人困惑,因为人们认为你试图偷偷上传文件。请参阅Will Bickford上面的回答(iframe)。
答案 4 :(得分:0)
你需要问如何实现更大的目标。你有一个目标,你已经确定,实现这一目标的唯一方法是在客户端上使用javascript序列化文件(这是不可能的),有些人试图破译你真正想要完成的事情和建议的答案( asynch上传等)。
告诉我们您需要完成的工作并描述您的解决方案的任务和限制,我们可以帮助您找到解决方案。
我们需要知道的一些事情